我开发了一个Chrome扩展程序,但我陷入了发布步骤......当我尝试上传扩展程序时,出现此错误:
An error occurred: Failed to process your item.
The manifest must define a version.
但是我已经定义了一个版本...这里是我的manifest.json文件:
{
"manifest_version": 2,
"name": "AccessID - RFID", // Nom
"version": "0.0.0.1", // Version
"version_name": "0.1 Beta",
"description": "Gestion RFID.", // Description
"icons": { ... },
"permissions": [ ... ],
"options_ui": { "page": ... },
"background":
{
"scripts": [ ... ]
},
"content_scripts" :
[
{
"matches": [...],
"all_frames": true,
"js": [ ... ],
"css" : [ ... ]
},
{
"matches": [ ... ],
"all_frames": true,
"js": [ ... ]
}
],
"web_accessible_resources" : [ ... ],
"page_action":
{
"default_title": "",
"default_popup": "",
"default_icon": { ... }
}
}
最奇怪的是它在开发模式下运行良好。 extesnion加载并运行良好。所以我实际上不明白发生了什么。
答案 0 :(得分:2)
manifest.json
,顾名思义,是一个JSON(JavaScript Object Notation)文件而不是JavaScript源文件。
JSON format故意简单化,不支持任何形式的评论 - 所以从技术上讲,它们是语法错误。奇怪的是,它正常加载用于开发。
删除// comments
将解决您的问题。其他常见问题包括忘记将键放入引号并留下额外的逗号 - JavaScript不会抱怨这一点,因为它是有效的ECMAScript对象文字,但它是无效的JSON。
您可以使用JSONLint之类的JSON验证程序来捕获这样的错误。