Mozilla FireFox插件 - >在main.js中包含外部库

时间:2013-05-23 15:45:08

标签: javascript firefox import firefox-addon add-on

我需要在我的FireFox插件中的main.js中导入/包含一个javascript文件,但由于main.js不包含“文档”,我无法以正常/简单的方式插入它。

我尝试了一些东西,但从来没有让它发挥作用。

以下是我想要完成的事情: 我使用外部时区检测脚本(https://bitbucket.org/pellepim/jstimezonedetect/overview)。我需要确定main.js中的时区以下载Google日历文件+将时间转换为用户时区。这不能在以后完成!到目前为止,我只是将代码手动插入到文件中(复制+粘贴),但这并不是一个非常好用且清晰的方法。

2 个答案:

答案 0 :(得分:2)

您需要创建一个CommonJS模块。将你的.js文件添加到addon的lib文件夹中,并通过“exports”指令导出你需要的所有函数。完成后,可以通过“require”指令使用导出的函数。

例如,在您将重复使用的模块中,您可以输入:

// REUSABLE MODULE
exports.somefunction = somefunction;

function somefunction() {
    doSomething();
 }

然后在将使用它的模块中:

var othermodule = require("reusable_module");
othermodule.somefunction();

以下是相关文档:https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/modules.html

答案 1 :(得分:1)

2020更新:

在我自己遇到的情况下,并按要求似乎不起作用 看来确实可行:(ES6样式导入)

在清单中将“脚本”替换为“页面”,就像这样-

"background": {
    "page": "background.html"
  }

创建一个background.html文件并添加

<script type="module" src='./background.js'></script>

现在在您的js文件中,您可以通过ES6导入使用其他文件

import * as [name] from "[location]"