我试图为我的chome webstore的铬扩展创建zip包,并且很难确定压缩包中需要什么样的manifest.json格式。
我的第一次尝试是将扩展名中的manifest.json (编译为.crx文件)复制到zip包中,因此压缩包的内容
manifest.jsonmyextension.crx但是,这种方法会导致一个问题,当试图在chrome中安装扩展时,无法加载后台脚本。
我的第二次尝试是删除清单json,只留下一些字段,如名称、描述和图标。看来我的第二次尝试是成功的,因为我的扩展可以安装。
我的方法正确吗?请指点。
发布于 2013-11-13 17:32:34
清单文件的正确格式已记录为这里。尽管如此,我怀疑这个问题与您的清单文件无关,而是与zip文件的结构有关。在提交zip文件时,请确保您压缩了目录的内容,而不是目录本身。
下面的结构是可以的:
manifest.json
background.js
...下面是而不是 OK:
extension/manifest.json
extension/background.js您可能已经创建了以下情况,这是而不是 OK,因为它将后台脚本声明为"background.js",而它实际上位于“/.‘s”:
manifest.js containing "background": {"scripts": ["background.js"] }
extension/background.js您的第二次尝试可能是因为您以正确的方式压缩了文件。
发布于 2013-11-13 17:35:13
实际上,您应该上传一个只包含扩展名根目录的ZIP存档(任何内容都不应该是CRX编辑的)。根据“开始”指南
创建包含manifest.json和图标的目录的ZIP存档。在Windows上,您可以通过右键单击myapp并选择“发送到>压缩(压缩)”文件夹的菜单项来做到这一点。在Mac上,控制-点击myapp并选择压缩"myapp“。 如果您喜欢使用命令行,可以输入以下内容:
zip -r myapp.zip myapp
注意: ZIP归档不应该只包含扩展根目录的内容,而应该包含根目录本身(当然,包含所有的内容)。
(顺便说一句,我不知道为什么你的第二次尝试成功了--根据文档它不应该。)
更新:
在我自己尝试之后,这两种方法似乎都奏效了。
最后,上传一个带有扩展内容的ZIP存档,而不是任何CRX编辑的内容。谷歌将自行生产CRX。
https://stackoverflow.com/questions/19960014
复制相似问题