我正在尝试运行混淆的代码 错误:
console.error:project:
Message: Error: Module: project/main has no authority to load: sdk/tabs
堆栈:
@project/main:108:undefined
答案 0 :(得分:1)
当您的加载项通过require
导入模块时,这不会无条件地发生。根据源代码实际使用的模块列表检查模块的名称。此列表是在加载项打包期间确定的。
因此,在开发期间,您的(非混淆的)代码打包正常并且运行正常。
但是当您确定加载项已准备好部署时,您可以使用模糊版本替换代码并执行cfx xpi
。
现在负责构建上述列表的脚本在源代码中找不到任何require("module")
命令,列表保持为空,随后每个require
在运行时失败。
您可以手动编辑该列表。在xpi
内部有一个harness-options.json
文件,找到manifest
对象,在其中找到requirements
键/值对列表。而已。您可以从包含非混淆代码的xpi
中复制列表。
虽然你也应该问问自己,混淆是否真的值得麻烦(这个以及你还没有遇到的其他人)。