firefox扩展:Main无权运行加载

时间:2014-12-24 12:15:43

标签: firefox-addon

我正在尝试运行混淆的代码 错误:

console.error:project:

Message: Error: Module: project/main has no authority to load: sdk/tabs

堆栈:

@project/main:108:undefined

1 个答案:

答案 0 :(得分:1)

当您的加载项通过require导入模块时,这不会无条件地发生。根据源代码实际使用的模块列表检查模块的名称。此列表是在加载项打包期间确定的。

因此,在开发期间,您的(非混淆的)代码打包正常并且运行正常。

但是当您确定加载项已准备好部署时,您可以使用模糊版本替换代码并执行cfx xpi

现在负责构建上述列表的脚本在源代码中找不到任何require("module")命令,列表保持为空,随后每个require在运行时失败。

您可以手动编辑该列表。在xpi内部有一个harness-options.json文件,找到manifest对象,在其中找到requirements键/值对列表。而已。您可以从包含非混淆代码的xpi中复制列表。

虽然你也应该问问自己,混淆是否真的值得麻烦(这个以及你还没有遇到的其他人)。