1

我目前正在使用cfx xpi将我的附加组件打包到 .xpi 文件中,按照附加组件 SDK 开发指南中的说明。

我现在想在没有附加 SDK 的机器上构建我的代码,这意味着没有 Python,也没有 cfx。是否可以这样做,最好是从命令行?

我尝试简单地将 MyAddon 文件夹压缩到 MyAddon.zip,然后将其重命名为 MyAddon.xpi,但是当我尝试在 Firefox 上安装它时,我收到错误消息“无法安装此插件,因为它看来是腐败了。”

任何和所有的帮助表示赞赏。

4

2 回答 2

3

目前,如果你想使用插件 SDK,你需要 cfx 工具来构建插件。构建过程包括映射依赖项,添加bootstrap.js文件以用于无需重启的插件,以及一些文件以使其可通过 Firefox 加载。只是压缩它并称它为 xpi 是不行的。

Addon-SDK 团队正在研究使您用于开发的相同目录结构能够直接加载到 Firefox 中的选项,从而删除构建步骤:提案

几周前,我在 SDK 工作周期间开发了一个仅限 JS 的构建器插件,其中涉及一个插件,本质上是构建和安装另一个插件。如果您可以在构建服务器上运行节点,您可能可以提取其中的组件并将它们节点化。那台机器上有什么可用的?你想用一台甚至没有安装python的机器来完成这个设置是必要的吗?

于 2013-10-09T20:22:32.787 回答
0

.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,然后解压缩以查看其内容。

于 2014-08-05T22:58:37.930 回答