发布 Chrome 扩展时出错

Error on publishing Chrome Extension

我已经开发了一个 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": { ... }
    }
}

最奇怪的是它在开发模式下运行良好。扩展已加载并且运行良好。所以我其实不明白这是怎么回事。

manifest.json,顾名思义,是一个 JSON(JavaScript Object Notation)文件,而不是 JavaScript 源文件。

JSON format 故意简单化并且不支持任何形式的注释 - 因此从技术上讲它们是语法错误。奇怪的是,它在开发时正常加载。

删除 // comments 将解决您的问题。其他常见问题包括忘记将键放在引号中并留下额外的逗号 - JavaScript 不会抱怨这个,因为它是一个有效的 ECMAScript 对象文字,但它是无效的 JSON.

您可以使用 JSON 个像 JSONLint 这样的验证器来捕捉这样的错误。