我正在使用cfx xpi
将我的加载项打包到.xpi文件中,如附加SDK开发指南中的指示here。
我现在想在没有Add-on SDK的机器上构建我的代码,这意味着没有Python,也没有cfx。是否可以这样做,最好是从命令行执行?
我尝试过简单地将MyAddon文件夹压缩到MyAddon.zip,然后将其重命名为MyAddon.xpi,但是当我尝试在Firefox上安装它时,我收到错误消息“此附加组件不能是安装,因为它似乎是腐败的。“
任何和所有帮助表示赞赏。
答案 0 :(得分:3)
目前,如果要使用Addon SDK,则需要cfx工具来构建加载项。构建过程包括映射依赖关系,在bootstrap.js
文件中添加无重启插件,以及一些文件以使其可通过Firefox加载。只是压缩它并将其称为xpi将无法解决问题。
Addon-SDK团队正在研究使您可以将用于开发的相同目录结构直接加载到Firefox中的选项,从而删除构建步骤:Proposal
我在几周前的SDK工作周期间工作了JS-only builder addon,其中涉及一个基本上构建和安装另一个插件的插件。如果可以在构建服务器上运行节点,则可以提取其中的组件和node-ify。什么 - 可用于其他机器?你有什么想要实现这个设置是必要的,一台甚至没有安装python的机器?
答案 1 :(得分:0)
好的,我想出了在大约一个小时的试验和错误令人沮丧之后如何手动创建.xpi
Firefox扩展程序。
Firefox运行.xpi
时为所有cfx run
创建的文件结构是:
myfirefoxaddonname.zip
-> bootstrap.js
-> defaults
-> preferences
-> prefs.js NOTE: Empty by default
-> harness-options.json
-> resources
-> myfirefoxaddonname
-> data
-> your stuff (CSS, JS, etc.) goes here
-> lib
-> main.js
-> test
-> package.json
-> install.rdf
-> locales.json NOTE: has one line by default: {"locales": []}
-> locale NOTE: Empty by default
其中一些文件/文件夹是不必要的(例如test
文件夹),但我已经加入,因为它是Firefox .xpi
加载项所需的默认格式。< / p>
我发现这一点的方法是运行cfx xpi
,然后导航到创建的.xpi
文件,将其重命名为.zip,然后解压缩以查看其内容。