我正在使用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"
为了澄清一点,这两个文件都是在后台运行而不是内容脚本。
答案 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(); }