在Firefox Extension中加载多个JS文件

时间:2015-11-28 15:52:41

标签: firefox-addon firefox-addon-sdk jpm

我正在使用JPM为Firefox创建扩展程序。在package.json文件中,我们将这一行用于入口点...

"main": "index.js"

如何更改它,或者我还能做些什么,在我的扩展程序中包含更多JS文件?我基本上移植了一个Chrome扩展程序,我有2-3个JS文件。

我尝试了以下操作,但它没有用。

"main": ["index.js", "file2.js"]

"main": [{"index.js", "file2.js"}]

"main": "index.js,file2.js"

为了澄清一点,这两个文件都是在后台运行而不是内容脚本。

2 个答案:

答案 0 :(得分:1)

据我所知,通过package.json文件,您只能指定一个main.js脚本。

正如developers' documentation所说:

  

最少,你有一个名为" main.js"的脚本实现的单个模块,但你可以在lib中包含其他模块,并使用require()函数导入它们。要了解如何实现和导入自己的模块,请参阅Implementing Reusable Modules上的教程。

因此,您可以在lib目录中创建自己的库,让我们根据文档说出test.js并将其包含在您的main.js中。看看这个例子:

test.js:

vat test = function() {console.log("I'm a module");};
exports.test = test;

并在你的main.js中:

var test = require('./test');
test.test();

答案 1 :(得分:0)

我遇到了同样的问题。如果将'file2.js'放在'data'目录中,则可以添加该行     var x = require('./ data / file2.js'); 在'main.js'文件中。然后调用你的函数:     x.yourFunc(); 一定要导出file2.js中的函数,并为每个函数分配一个exports变量:     exports.func1 = function(){return yourFunc(); }