Ошибка при публикации расширения Chrome

У меня есть расширение для 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": { ... }
    }
}

Самое странное, что он отлично работает в режиме разработки. Расширение загружено и работает хорошо. Так что я на самом деле не понимаю, что происходит.


person Emrys Myrooin    schedule 27.04.2015    source источник
comment
Я предполагаю, что этих // comments на самом деле нет в вашем манифесте, верно?   -  person Xan    schedule 27.04.2015
comment
Серьезно ? Он не обрабатывает комментарии???   -  person Emrys Myrooin    schedule 27.04.2015
comment
@Xan Хорошо, опубликуйте свой комментарий в качестве ответа T_T   -  person Emrys Myrooin    schedule 27.04.2015


Ответы (1)


manifest.json, как следует из названия, представляет собой файл JSON (нотация объектов JavaScript), а не исходный файл JavaScript.

формат JSON намеренно упрощен и не поддерживает никакие формы комментариев, поэтому технически это синтаксическая ошибка. Странно, что он нормально загрузился для разработки.

Удаление // comments решит вашу проблему. Другие распространенные проблемы включают забывание поместить ключи в кавычки и оставить лишнюю запятую — JavaScript не будет жаловаться на это, поскольку это допустимый литерал объекта ECMAScript, но это недопустимый JSON.

Вы можете использовать валидаторы JSON, такие как JSONLint, для обнаружения подобных ошибок.

person Xan    schedule 27.04.2015