我目前正在使用cfx xpi
将我的附加组件打包到 .xpi 文件中,按照附加组件 SDK 开发指南中的说明。
我现在想在没有附加 SDK 的机器上构建我的代码,这意味着没有 Python,也没有 cfx。是否可以这样做,最好是从命令行?
我尝试简单地将 MyAddon 文件夹压缩到 MyAddon.zip,然后将其重命名为 MyAddon.xpi,但是当我尝试在 Firefox 上安装它时,我收到错误消息“无法安装此插件,因为它看来是腐败了。”
任何和所有的帮助表示赞赏。
我目前正在使用cfx xpi
将我的附加组件打包到 .xpi 文件中,按照附加组件 SDK 开发指南中的说明。
我现在想在没有附加 SDK 的机器上构建我的代码,这意味着没有 Python,也没有 cfx。是否可以这样做,最好是从命令行?
我尝试简单地将 MyAddon 文件夹压缩到 MyAddon.zip,然后将其重命名为 MyAddon.xpi,但是当我尝试在 Firefox 上安装它时,我收到错误消息“无法安装此插件,因为它看来是腐败了。”
任何和所有的帮助表示赞赏。
目前,如果你想使用插件 SDK,你需要 cfx 工具来构建插件。构建过程包括映射依赖项,添加bootstrap.js
文件以用于无需重启的插件,以及一些文件以使其可通过 Firefox 加载。只是压缩它并称它为 xpi 是不行的。
Addon-SDK 团队正在研究使您用于开发的相同目录结构能够直接加载到 Firefox 中的选项,从而删除构建步骤:提案
几周前,我在 SDK 工作周期间开发了一个仅限 JS 的构建器插件,其中涉及一个插件,本质上是构建和安装另一个插件。如果您可以在构建服务器上运行节点,您可能可以提取其中的组件并将它们节点化。那台机器上有什么可用的?你想用一台甚至没有安装python的机器来完成这个设置是必要的吗?
.xpi
好的,经过大约一个小时的令人沮丧的反复试验,我想出了如何手动创建Firefox 扩展。
.xpi
运行时Firefox 为所有人创建的文件结构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
附加组件所需的默认格式。
我发现这一点的方法是运行cfx xpi
,然后导航到创建的.xpi
文件,将其重命名为 .zip,然后解压缩以查看其内容。