Paylaşılan modüller

Paylaşılan Modüller, diğer uzantılar ve uygulamalar arasında paylaşılabilecek izinsiz kaynak koleksiyonlarıdır. Paylaşılan Modüllerin yaygın kullanım alanları şunlardır:

  • API olarak. Kendisine bağlı uzantılardan bağımsız olarak güncellenebilen bir API sağlamak için HTML, JS ve diğer kaynakları sağlayabilen bir Paylaşılan Modül dağıtabilirsiniz. Bu, uygulamaların genellikle Paylaşılan Modül'ün kodunda çalışan daha küçük veri yükleri olduğu çalışma zamanları ve oyun motorları için yararlı olabilir.
  • İndirme optimizasyonu olarak. Paylaşılan Modül, birçok uzantı tarafından kullanılan ortak kaynakları içerir. Bağımlı bir uzantı ilk kez yüklendiğinde bir kez indirilir.

Manifest

Paylaşılan modüller iki manifest alanı aracılığıyla kullanılır: dışa ve içe aktarma.

export alanı bir uzantının, kaynaklarını dışa aktaran bir Paylaşılan Modül olduğunu gösterir:

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

import alanı, uzantılar ve uygulamalar tarafından belirli Paylaşılan Modüllerdeki kaynaklara bağlı olduklarını belirtmek için kullanılır:

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

Kaynaklara erişme

Paylaşılan Modül kaynaklarına, içe aktarma uzantınızın kök dizininde ayrılmış bir _modules/SHARED_MODULE_ID yolu tarafından erişilir. Örneğin, "cccccccccccccccccccccccc"li bir Paylaşılan Modüldeki "foo.js" komut dosyasını, uzantınızın kökünden gelen şu yolu kullanın:

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

İçe aktarılan uzantının "aaaaaaaaaaaaaaaaaaaaaaaaa" kimliği varsa Paylaşılan Modül'deki kaynakların tam URL'si şöyle olur:

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

Paylaşılan Modüller'deki kaynaklar, içe aktarma uzantısının kaynağına yerleştirildiğinden, içe aktarma uzantısına verilen tüm ayrıcalıkların Paylaşılan Modüller'deki kod için kullanılabileceğini unutmayın. Ayrıca, Paylaşılan Modül, içe aktarma uzantısındaki kaynaklara mutlak yolları kullanarak erişebilir.

Yükleme / kaldırma

Paylaşılan Modül, bağımlı bir uzantı tarafından gerektiğinde Chrome Web Mağazası'ndan otomatik olarak yüklenir ve buna başvuruda bulunan son uzantı kaldırıldığında otomatik olarak kaldırılır. Paylaşılan Modül kullanan bir uzantıyı yükleyebilmek için Paylaşılan Modül'ün Chrome Web Mağazası'nda yayınlanmış olması ve uzantının, izin verilenler listesi tarafından Paylaşılan Modül'ü kullanması kısıtlanmamış olması gerekir.

Geliştirme sırasında, uzantınızın kullandığı tüm Paylaşılan Modülleri manuel olarak yüklemeniz gerekir. Başka yöntemle yüklenen veya paketlenmemiş uzantılar olarak yüklenen uzantılarda otomatik yüklemeler gerçekleşmez. Yerel olarak yüklenmiş, paketlenmemiş Paylaşılan Modüllerde, Paylaşılan Modüllerin doğru kimlikleri kullandığından emin olmak için key alanını kullanmanız gerekir.