javascript - 插件 SDK。将 main.js 分割成几个单元?

标签 javascript firefox-addon firefox-addon-sdk firefox4

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

main.js - 加载器
Unit1.js - 执行工作 A
Unit2.js - 执行工作 B
Unit3.js - 执行工作 C

或者任何关于开发功能强大的扩展的好建议。

最佳答案

您可以create and require() "local" modules 。另请阅读 Module structure of the SDK .

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

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 本身,它是按模块组织的,和/或研究其他 stdlib 的功能,例如 Python stdlib 或 go stdlib 等。

关于javascript - 插件 SDK。将 main.js 分割成几个单元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25003774/

相关文章:

javascript - 如何使用 locale-file 进行语言设置和使用 simple-prefs 进行选项窗口与附加构建器

javascript - 安装和升级基于 Firefox Add-on-SDK 的扩展时强制重新启动

javascript - 在 Firefox 无需重新启动的插件中,如何在新窗口打开时运行代码(监听窗口打开情况)?

javascript - 选择 Firefox 附加目录中的文件

javascript - CoreUI DataTable 按特定列值对值进行排序

javascript - 在 typescript 中使用任何 Prop 定义对象

javascript - AngularJS 中的另一个函数无法识别该函数

javascript - 无法从 JSON 获取数据

javascript - Firefox 插件引用错误

firefox - 在 Firefox 中获取扩展的附加 ID