Paylaşılan modüller

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

  • API olarak. Web sitenize HTML, JS ve başka kaynak sağlayabilecek bir Paylaşılan Modül dağıtabilirsiniz ona bağlı uzantılardan bağımsız olarak güncellenebilecek bir API sağlar. Bu özellik, uygulamaların genellikle belirli bir cihazda çalıştırılan daha küçük veri yüklerinden oluştuğu çalışma zamanları ve oyun motorları Paylaşılan Modülün kodu.
  • İ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ı ile kullanılır: dışa aktarma 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ü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, 'foo.js' komut dosyasını dahil etmek için şununla paylaşılan bir modülden: "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 kuruluş tarafından ihtiyaç duyulduğunda Chrome Web Mağazası'ndan bir Paylaşılan Modül otomatik olarak yüklenir uzantısına referansta bulunur ve ona referansta bulunan 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.