เกิดข้อผิดพลาดในการเผยแพร่ส่วนขยายของ 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 Ok โพสต์ความคิดเห็นของคุณเป็นการตอบกลับ T_T   -  person Emrys Myrooin    schedule 27.04.2015


คำตอบ (1)


manifest.json ดังที่ชื่อบอกเป็นไฟล์ JSON (JavaScript Object Notation) ไม่ใช่ไฟล์ต้นฉบับ JavaScript

รูปแบบ JSON มีเจตนาเรียบง่าย และไม่สนับสนุนความคิดเห็นในรูปแบบใดๆ ดังนั้นในทางเทคนิคแล้ว รูปแบบดังกล่าวจึงมีข้อผิดพลาดทางไวยากรณ์ มันแปลกที่มันโหลดเพื่อการพัฒนาตามปกติ

การลบ // comments จะแก้ไขปัญหาของคุณได้ ปัญหาทั่วไปอื่นๆ ได้แก่ การลืมใส่คีย์ในเครื่องหมายคำพูดและทิ้งเครื่องหมายจุลภาคไว้เป็นพิเศษ - JavaScript จะไม่บ่นเกี่ยวกับเรื่องนี้ เนื่องจากเป็นอ็อบเจ็กต์ลิเทอรัลของ ECMAScript ที่ถูกต้อง แต่เป็น JSON ที่ไม่ถูกต้อง

คุณสามารถใช้เครื่องมือตรวจสอบ JSON เช่น JSONLint เพื่อตรวจจับข้อผิดพลาดเช่นนี้

person Xan    schedule 27.04.2015