共用模組

共用模組是無權限的資源集合,可以與其他項目共用 擴充功能和應用程式共用模組的常見用途如下:

  • 做為 API您可以發布共用模組,提供 HTML、JS 和其他來源 提供可獨立更新的 API,不受依附的擴充功能影響。可用的值包括 對執行階段和遊戲引擎而言很實用,因為應用程式通常使用較小型的資料酬載, 共用模組的程式碼
  • 做為下載最佳化之用。共用模組包含許多擴充功能使用的通用資源。 這會在首次安裝相依擴充功能時下載一次。

資訊清單

共用模組需透過兩個資訊清單欄位使用:匯出和匯入。

「export」欄位表示擴充功能是匯出其資源的共用模組:

{
  "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 欄位可供擴充功能和應用程式使用,宣告其相依於 以及下列共用模組:

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

存取資源

共用模組資源可透過根中的保留路徑 _modules/SHARED_MODULE_ID 存取 您的匯入額外資訊例如,若要包含「foo.js」指令碼必須從共用模組中 ID 為「cccccccccccccccc」」(該稅),請使用擴充功的根源中的以下路徑:

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

如果匯入擴充功能的 ID 為「aaaaaaaaaaaaaaaaaaaaaaaaaaaa」,那麼資源的完整網址 共通點就是:

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

請注意,由於共用模組的資源會重疊至匯入來源 擴充功能,授予匯入擴充功能的所有權限,都能用於「共用」中的程式碼 模組。此外,共用模組也能使用 做為絕對路徑

安裝 / 解除安裝

視需要自動從 Chrome 線上應用程式商店安裝共用模組時 也會自動解除安裝上次參照此擴充功能的擴充功能。 你必須在以下位置發布共用模組,才能上傳使用共用模組的擴充功能: Chrome 線上應用程式商店和擴充功能不得限制使用共用模組 加入許可清單。

在開發過程中,你必須手動安裝擴充功能使用的任何共用模組。 如果是側載或載入為未封裝的擴充功能,系統不會自動安裝 。如果是在本機安裝且未封裝的共用模組,您必須使用 key 欄位: 確認共用模組使用正確的 ID。