2014-12-24 108 views
0

我想運行混淆代碼。
ERR:firefox擴展:主沒有權限運行加載

console.error:項目:

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

堆棧:

@project/main:108:undefined 
+0

請在問題中包含您的源代碼。請參閱[我可以在這裏詢問哪些主題?](http://stackoverflow.com/help/on-topic),[我如何提出一個好問題?](http://stackoverflow.com/help/how -to-ask)和[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。代碼可以不混淆。這是你自己的擴展,還是你在其他地方得到的東西?如果你自己的,錯誤發生在沒有被模糊的時候嗎? – Makyen

回答

1

當你的附加進口模塊通過require,這不會發生無條件。根據源代碼實際使用的模塊列表檢查模塊的名稱。該列表是在加載項的打包過程中確定的。

因此,在開發過程中,您的(非模糊處理)代碼打包良好並且運行正常。

但是,當您決定插件已準備好部署時,請將代碼替換爲混淆版本並執行cfx xpi

現在負責構建上述列表的腳本在源代碼中找不到任何require("module")命令,該列表保持空白,隨後在運行時期間每個require都會失敗。

您可以手動編輯該列表。在xpi裏面有一個harness-options.json文件,找到manifest對象,並在這個requirements列表中找到鍵/值對。而已。您可以複製打包有非模糊代碼的xpi中的列表。

雖然你應該問自己,如果混淆是真的值得麻煩(這個和其他你還沒有遇到過)。