Terjadi kesalahan saat memublikasikan Ekstensi Chrome

Saya telah mengembangkan ekstensi Chrome tetapi saya terjebak pada langkah penerbitan... Ketika saya mencoba mengunggah ekstensi saya, saya mendapatkan kesalahan ini:

An error occurred: Failed to process your item.
The manifest must define a version.

Tapi saya telah menentukan versinya... Ini file manifest.json saya:

{
    "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": { ... }
    }
}

Hal yang paling aneh adalah ia bekerja dengan baik dalam mode pengembangan. Ekstensi dimuat dan berfungsi dengan baik. Jadi saya sebenarnya tidak mengerti apa yang sedang terjadi.


person Emrys Myrooin    schedule 27.04.2015    source sumber
comment
Saya berasumsi // comments itu tidak benar-benar ada dalam manifes Anda, bukan?   -  person Xan    schedule 27.04.2015
comment
Dengan serius ? Itu tidak menangani komentar ???   -  person Emrys Myrooin    schedule 27.04.2015
comment
@Xan Ok kirim komentar Anda sebagai tanggapan T_T   -  person Emrys Myrooin    schedule 27.04.2015


Jawaban (1)


manifest.json, sesuai dengan namanya, adalah file JSON (JavaScript Object Notation) dan bukan file sumber JavaScript.

Format JSON sengaja disederhanakan dan tidak mendukung segala bentuk komentar - jadi secara teknis ini merupakan kesalahan sintaksis. Aneh rasanya memuat secara normal untuk pengembangan.

Menghapus // comments akan memperbaiki masalah Anda. Masalah umum lainnya termasuk lupa memasukkan kunci ke dalam tanda kutip dan meninggalkan koma tambahan - JavaScript tidak akan mengeluh tentang hal ini karena ini adalah literal objek ECMAScript yang valid, tetapi JSON tidak valid.

Anda dapat menggunakan validator JSON seperti JSONLint untuk menangkap kesalahan seperti ini.

person Xan    schedule 27.04.2015