ভাগ করা মডিউল

শেয়ার করা মডিউল হল রিসোর্সের অনুমতিহীন সংগ্রহ যা অন্যান্য এক্সটেনশন এবং অ্যাপের মধ্যে শেয়ার করা যায়। শেয়ার্ড মডিউলের সাধারণ ব্যবহার হল:

  • এপিআই হিসেবে। আপনি একটি ভাগ করা মডিউল বিতরণ করতে পারেন যা এইচটিএমএল, জেএস এবং অন্যান্য উত্স সরবরাহ করতে পারে এমন একটি API সরবরাহ করতে যা এটির উপর নির্ভরশীল এক্সটেনশনগুলি থেকে স্বাধীনভাবে আপডেট করা যেতে পারে। এটি রানটাইম এবং গেম ইঞ্জিনগুলির জন্য উপযোগী হতে পারে, যেখানে অ্যাপগুলি প্রায়ই ডেটার ছোট পেলোড হয় যা শেয়ার করা মডিউলের কোডে চলে।
  • একটি ডাউনলোড অপ্টিমাইজেশান হিসাবে. শেয়ার্ড মডিউলে অনেক এক্সটেনশন দ্বারা ব্যবহৃত সাধারণ সম্পদ রয়েছে। এটি একবার ডাউনলোড করা হয়, প্রথমবার একটি নির্ভরশীল এক্সটেনশন ইনস্টল করা হয়।

উদ্ভাসিত

শেয়ার্ড মডিউল দুটি ম্যানিফেস্ট ক্ষেত্রের মাধ্যমে ব্যবহার করা হয়: রপ্তানি এবং আমদানি।

রপ্তানি ক্ষেত্রটি নির্দেশ করে যে একটি এক্সটেনশন একটি ভাগ করা মডিউল যা তার সংস্থানগুলি রপ্তানি করে:

{
  "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 দ্বারা অ্যাক্সেস করা হয়৷ উদাহরণস্বরূপ, আইডি "cccccccccccccccccccccccccccccc" সহ একটি শেয়ার্ড মডিউল থেকে স্ক্রিপ্ট 'foo.js' অন্তর্ভুক্ত করতে, আপনার এক্সটেনশনের মূল থেকে এই পথটি ব্যবহার করুন:

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

যদি ইম্পোর্টিং এক্সটেনশনের আইডি "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" থাকে, তাহলে শেয়ার করা মডিউলে সম্পদের সম্পূর্ণ URL হল:

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

নোট করুন যে যেহেতু শেয়ার্ড মডিউল থেকে রিসোর্সগুলি ইম্পোর্টিং এক্সটেনশনের উৎপত্তিতে ওভারলেড করা হয়েছে, সেহেতু ইম্পোর্টিং এক্সটেনশনে প্রদত্ত সমস্ত সুবিধা শেয়ার করা মডিউলের কোডের জন্য উপলব্ধ৷ এছাড়াও, শেয়ার্ড মডিউল পরম পাথ ব্যবহার করে আমদানি এক্সটেনশনে সংস্থানগুলি অ্যাক্সেস করতে সক্ষম।

ইন্সটল/আনইন্সটল করুন

একটি শেয়ার্ড মডিউল যখন একটি নির্ভরশীল এক্সটেনশনের প্রয়োজন হয় তখন Chrome ওয়েব স্টোর থেকে স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায় এবং সর্বশেষ এক্সটেনশনটি যা উল্লেখ করে সেটি আনইনস্টল হয়ে গেলে স্বয়ংক্রিয়ভাবে আনইনস্টল হয়ে যায়৷ শেয়ার্ড মডিউল ব্যবহার করে এমন একটি এক্সটেনশন আপলোড করার জন্য, শেয়ার করা মডিউলটিকে অবশ্যই Chrome ওয়েব স্টোরে প্রকাশ করতে হবে এবং এক্সটেনশনটিকে তার অনুমোদিত তালিকা দ্বারা শেয়ার করা মডিউল ব্যবহার করা থেকে সীমাবদ্ধ করা উচিত নয়৷

বিকাশের সময়, আপনার এক্সটেনশন ব্যবহার করে এমন কোনো শেয়ার করা মডিউল আপনাকে ম্যানুয়ালি ইনস্টল করতে হবে। সাইড-লোড করা বা আনপ্যাক করা এক্সটেনশন হিসাবে লোড করা এক্সটেনশনগুলির জন্য স্বয়ংক্রিয় ইনস্টলগুলি ঘটবে না৷ স্থানীয়ভাবে ইনস্টল করা, আনপ্যাক করা শেয়ার্ড মডিউলগুলির জন্য, শেয়ার করা মডিউলগুলি সঠিক আইডি ব্যবহার করছে তা নিশ্চিত করতে আপনাকে অবশ্যই কী ক্ষেত্রটি ব্যবহার করতে হবে।