我正在使用Mozilla Addon構建器(Node.js/common.js)構建FireFox插件。請注意,我在默認情況下由構建器爲您提供的數據文件夾中存在有問題的文件(稍後解釋)。
當js文件在數據文件夾中時訪問所需函數
在數據文件夾(默認自帶)我有兩個文件:文件1和文件2:
文件1
exports.foo = foo;
functions foo() {
return true
}
文件2
$('#aTestButton').click(function() {
try
{
//The problem: An exception is thrown due to the code below. The exception is:
//ReferenceError: require is not defined
var A_Module = require('file1.js');
var fooValue = A_Module().foo();
}
catch(err)
{
alert(err);
}
});
文件1有一個功能,我嘗試在file2嘗試使用file1的導出函數時導出。我的問題是,文件2拋出此異常:
的ReferenceError:要求沒有定義
有誰知道如何解決這個問題(注意,當他們在庫文件夾,它工作正常,但我需要他們在數據文件夾中)?
「../ Folder/file1.js''中的」文件夾「是什麼? – 2012-01-15 21:09:15
@MikeSamuel:你可以忽略「/ Folder /」。我從問題中刪除了它。萬一你仍然好奇,它就是存儲file1的文件夾。 – Phil 2012-01-15 21:14:56
'data'文件夾不適用於特權代碼。請展開「我在數據文件夾中需要它們」 - 爲什麼?你是否試圖從內容腳本運行特權代碼?這是行不通的,內容腳本需要回傳給主擴展。 – 2012-01-16 06:48:44