Paylaşılan modüller

Paylaşılan Modüller, kullanıcılar arasında paylaşılabilen izinsiz kaynak koleksiyonlarıdır. uzantılar. Paylaşılan Modüllerin yaygın kullanım şekilleri şunlardır:

  • API olarak. Web sitenize HTML, JS ve diğer kaynakları sağlayabilen bir Paylaşılan Modül dağıtabilirsiniz ona bağlı uzantılardan bağımsız olarak güncellenebilecek bir API sağlar.
  • İndirme optimizasyonu olarak. Paylaşılan Modül, birçok uzantı tarafından kullanılan ortak kaynakları içerir. Bağımlı uzantı ilk kez yüklendiğinde bir kez indirilir.

Manifest

Paylaşılan Modüller, iki manifest alanı aracılığıyla kullanılır: "export" ve "import".

Dışa aktar

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
}

İçe aktar

Import alanı, uzantılar ve uygulamalar tarafından Belirli Paylaşılan Modüller:

{
  "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, kök dizinde ayrılmış bir yol olan _modules/SHARED_MODULE_ID tarafından erişilebilir. içe aktarılan uzantınızın ekran görüntüsüdür. Örneğin, aşağıdakileri içeren bir Paylaşılan Modülden foo.js komut dosyasını dahil etmek için "cccccccccccccccccccccccccc"" kimliği, uzantınızın kök dizininden gelen şu yolu kullanın:

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

İçe aktarma uzantısının "aaaaaaaaaaaaaaaaaaaaaaaaaaa" kimliği varsa kaynakların tam URL'si hakkında daha fazla bilgi edinin:

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

Paylaşılan Modüllerdeki kaynaklar içe aktarmanın kaynağına yerleştirildiğinden, uzantısıyla içe aktarıldığında, içe aktarma uzantısına verilen tüm ayrıcalıklar Paylaşılan Modüller. Ayrıca Paylaşılan Modül, içe aktarılan uzantıdaki kaynaklara mutlak yollardır.

Yükleme / kaldırma

Bağımlı bir uzantı gerektiğinde Chrome Web Mağazası'ndan bir Paylaşılan Modül otomatik olarak yüklenir ve ona referans veren son uzantı kaldırıldığında otomatik olarak kaldırılır. Paylaşılan Modül kullanan bir uzantıyı yüklemek için Paylaşılan Modül'ün şurada yayınlanması gerekir: Chrome Web Mağazası'nın ve uzantının Paylaşılan Modül'ü kullanması, izin verilenler listesine eklenir.

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