插件SDK.将main.js分成几个单元

Addon SDK. Slice main.js into few units?

本文关键字:几个 单元 SDK main js 插件      更新时间:2023-09-26

我正在使用Addon SDK为Mozilla FireFox开发一些扩展。我的main.js现在非常庞大,包含了很多各种各样的代码。有可能将它们切成几个自定义js文件吗?

main.js - Loader
Unit1.js -做作业A
Unit2.js -做作业B
Unit3.js - Do job C

可以创建和require() "local"模块。还可以阅读SDK的Module结构。

因此,你可能想尝试模块化你的东西。

lib/joba.js

function non_exported_helper() {
  // do something;
}
function JobA() {}
JobA.prototype = {
  doSomething: function() {
    non_exported_helper();
    return something_else;
  }
};
// Export JobA
// Stuff not in `exports` will not be visible to other code
// require()ing a module. 
exports.JobA = JobA;

lib/main.js

var JobA = require("./joba").JobA;
var job = new JobA();
job.doSomething();

当然,任何模块都可以使用require(),但是要注意循环导入。

把什么放进什么模块完全由你决定。例如,一个模块可以实现一个"类",而另一个模块可以实现一个函数集合,或者另一个模块可以用于后台请求,而另一个模块可以用于所有UI内容。

也许看看SDK本身,它是在模块中组织的,和/或看看其他标准库做什么,比如Python标准库,或者go标准库,等等