शेयर किए गए मॉड्यूल

शेयर किए गए मॉड्यूल ऐसे संसाधनों का ऐसा कलेक्शन हैं जिन्हें बिना अनुमति के शेयर किया जाता है. इन्हें अन्य संसाधनों के साथ शेयर किया जा सकता है एक्सटेंशन और ऐप्लिकेशन के बारे में बात करते हैं. शेयर किए गए मॉड्यूल के सामान्य इस्तेमाल ये हैं:

  • एपीआई के तौर पर. एक ऐसा शेयर मॉड्यूल डिस्ट्रिब्यूट किया जा सकता है जिससे एचटीएमएल, JS, और अन्य सोर्स उपलब्ध कराए जा सकते हैं एक ऐसा एपीआई उपलब्ध कराएं जिसे उस पर आधारित एक्सटेंशन से अलग, अलग से अपडेट किया जा सके. यह काम किया जा सकता है यह रनटाइम और गेम इंजन के लिए काम का है. इसमें ऐप्लिकेशन का डेटा, अक्सर कम होता है शेयर किए गए मॉड्यूल का कोड दिखाई दे सकता है.
  • डाउनलोड ऑप्टिमाइज़ेशन के तौर पर. शेयर मॉड्यूल में कई एक्सटेंशन के ज़रिए इस्तेमाल किए जाने वाले सामान्य संसाधन शामिल होते हैं. कोई निर्भर एक्सटेंशन पहली बार इंस्टॉल होने पर, वह एक बार डाउनलोड हो जाता है.

मेनिफ़ेस्ट

शेयर किए गए मॉड्यूल का इस्तेमाल दो मेनिफ़ेस्ट फ़ील्ड से किया जाता है: एक्सपोर्ट और इंपोर्ट.

एक्सपोर्ट फ़ील्ड से पता चलता है कि एक्सटेंशन एक शेयर मॉड्यूल है, जो अपने संसाधनों को एक्सपोर्ट करता है:

{
  "version": "1.0",
  "name": "My Shared Module",
  "export": {
    // Optional list of extension IDs explicitly allowed to
    // import this Shared Module's resources.  If no allowlist
    // is given, all extensions are allowed to import it.
    "allowlist": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
    ]
  }
  // Note: no permissions are allowed in Shared Modules
}

इंपोर्ट फ़ील्ड का इस्तेमाल करके, एक्सटेंशन और ऐप्लिकेशन यह बताते हैं कि वे किन संसाधनों से मिलने वाले संसाधनों पर निर्भर हैं शेयर किए गए कुछ खास मॉड्यूल:

{
  "version": "1.0",
  "name": "My Importing Extension",
  ...
  "import": [
    {"id": "cccccccccccccccccccccccccccccccc"},
    {"id": "dddddddddddddddddddddddddddddddd"
     "minimum_version": "0.5" // optional
    },
  ]
}

संसाधनों को ऐक्सेस करना

शेयर किए गए मॉड्यूल संसाधनों को रूट में, रिज़र्व किए गए पाथ _modules/SHARED_MODULE_ID से ऐक्सेस किया जाता है में से सही एक्सटेंशन चुनें. उदाहरण के लिए, 'foo.js' स्क्रिप्ट को शामिल करने के लिए शेयर किए गए मॉड्यूल से आईडी "ccccccccFCCcccccccc चलाने गाने)", अपने एक्सटेंशन के रूट से इस पाथ का इस्तेमाल करें:

<script src="_modules/cccccccccccccccccccccccccccccccc/foo.js">

अगर इंपोर्ट करने वाले एक्सटेंशन का आईडी "aaaaaaaaaaaaaaaaaaaaaaaaaa" है, तो रिसॉर्स का पूरा यूआरएल शेयर किए गए मॉड्यूल में:

chrome-extension://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/_modules/cccccccccccccccccccccccccccccccc/

ध्यान दें कि शेयर किए गए मॉड्यूल से मिले संसाधन, इंपोर्ट करने की शुरुआत में जोड़े गए हैं एक्सटेंशन के साथ-साथ, आयात एक्सटेंशन को दिए गए सभी अधिकार, साझा एक्सटेंशन में कोड के लिए उपलब्ध होते हैं. मॉड्यूल. साथ ही, शेयर मॉड्यूल ऐब्सलूट पाथ का इस्तेमाल करें.

इंस्टॉल करें / अनइंस्टॉल करें

किसी डिपेंडेंट को ज़रूरत पड़ने पर, Chrome Web Store से शेयर किया गया मॉड्यूल अपने-आप इंस्टॉल हो जाता है बनाया गया है और जिस एक्सटेंशन का संदर्भ दिया गया है, वह अनइंस्टॉल होने पर अपने आप अनइंस्टॉल हो गया है. शेयर किए गए मॉड्यूल का इस्तेमाल करने वाले किसी एक्सटेंशन को अपलोड करने के लिए, शेयर किए गए मॉड्यूल को Chrome वेब स्टोर और एक्सटेंशन को अनुमति वाली सूची में शामिल है.

डेवलपमेंट के दौरान, आपको शेयर किए गए ऐसे सभी मॉड्यूल मैन्युअल तरीके से इंस्टॉल करने होंगे जिनका इस्तेमाल आपका एक्सटेंशन करता है. अपने-आप इंस्टॉल होने की सुविधा, उन एक्सटेंशन के लिए लागू नहीं होती जो अलग से लोड होते हैं या जिन्हें पैक न किए गए के तौर पर लोड किया जाता है एक्सटेंशन. डिवाइस पर इंस्टॉल किए गए और पैक नहीं किए गए शेयर किए गए मॉड्यूल के लिए, आपको key फ़ील्ड का इस्तेमाल करना होगा पक्का करें कि शेयर किए गए मॉड्यूल सही आईडी का इस्तेमाल करें.