2015-11-28 32 views
0

我正在使用JPM爲Firefox創建擴展。在文件的package.json,我們這條線爲切入點...在Firefox擴展中加載多個JS文件

"main": "index.js" 

我如何改變它,要不然我能做些什麼,包括我在擴展的更多JS文件?我基本上移植了一個Chrome擴展,我有2-3個JS文件。

我嘗試了以下,但它沒有奏效。

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

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

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

爲了澄清多一點,這兩個文件是爲了在後臺運行,並沒有內容的腳本。

回答

0

據我所知,通過package.json文件,你只能指定一個main.js腳本。

正如developers' documentation說:

微創你就會有一個被稱爲「main.js」腳本實現的單個模塊,但您可以在lib中附加的模塊,並使用需要導入( )功能。要了解如何實現和導入您自己的模塊,請參閱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(); 
+0

在現實中,我已經找到mozIJSSubScriptLoader,但保持這個問題的其他選擇。這是另一回事。 –

0

我有同樣的問題。如果將'file2.js'放入'data'目錄中,則可以添加行 var x = require('./ data/file2.js'); 'main.js'文件中的 。然後調用你的函數,如: x.yourFunc(); 確保在file2.js中導出函數,併爲每個函數的exports變量賦值: exports.func1 = function(){return yourFunc(); }