Mô-đun được chia sẻ

Mô-đun dùng chung là tập hợp tài nguyên không có quyền có thể chia sẻ giữa các tiện ích. Một số cách sử dụng Mô-đun dùng chung phổ biến là:

  • Dưới dạng API. Bạn có thể phân phối Mô-đun dùng chung có thể cung cấp HTML, JS và các tài nguyên khác để cung cấp một API có thể cập nhật độc lập với các tiện ích phụ thuộc vào API đó.
  • Để tối ưu hoá quá trình tải xuống. Mô-đun dùng chung chứa các tài nguyên phổ biến mà nhiều tiện ích sử dụng. Tệp này được tải xuống một lần vào lần đầu tiên cài đặt một tiện ích phụ thuộc.

Tệp kê khai

Mô-đun dùng chung được sử dụng thông qua hai trường tệp kê khai: "export""import".

Xuất

Trường xuất cho biết tiện ích là một Mô-đun dùng chung có chức năng xuất tài nguyên của nó:

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

Nhập

Trường import được các tiện ích và ứng dụng sử dụng để khai báo rằng chúng phụ thuộc vào tài nguyên từ Mô-đun dùng chung cụ thể:

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

Truy cập tài nguyên

Các tài nguyên Mô-đun dùng chung được truy cập bằng đường dẫn dành riêng _modules/SHARED_MODULE_ID trong thư mục gốc của tiện ích nhập. Ví dụ: để đưa tập lệnh foo.js từ một Mô-đun chia sẻ có mã nhận dạng "cc mở cc mở rộng":

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

Nếu tiện ích nhập có mã nhận dạng "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", thì URL đầy đủ đến các tài nguyên trong Mô-đun dùng chung sẽ là:

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

Lưu ý rằng vì các tài nguyên từ Mô-đun dùng chung được phủ vào nguồn gốc của tiện ích nhập, nên tất cả các đặc quyền được cấp cho tiện ích nhập đều có sẵn để viết mã trong Mô-đun dùng chung. Ngoài ra, Mô-đun dùng chung có thể truy cập vào các tài nguyên trong tiện ích nhập bằng cách sử dụng đường dẫn tuyệt đối.

Cài đặt / gỡ cài đặt

Mô-đun dùng chung tự động được cài đặt từ Cửa hàng Chrome trực tuyến khi một tiện ích phụ thuộc cần và tự động gỡ cài đặt khi tiện ích gần đây nhất tham chiếu đến tiện ích đó bị gỡ cài đặt. Để tải một tiện ích sử dụng Mô-đun dùng chung lên, bạn phải phát hành Mô-đun được chia sẻ trong Cửa hàng Chrome trực tuyến và không bị hạn chế sử dụng Mô-đun được chia sẻ thông qua danh sách cho phép.

Trong quá trình phát triển, bạn sẽ cần cài đặt thủ công mọi Mô-đun dùng chung mà tiện ích của bạn sử dụng. Cài đặt tự động không xảy ra đối với tiện ích được tải không qua cửa hàng ứng dụng hoặc tải dưới dạng tiện ích đã giải nén. Đối với các Mô-đun dùng chung đã giải nén và được cài đặt cục bộ, bạn phải sử dụng trường khoá để đảm bảo các Mô-đun được chia sẻ sử dụng đúng mã nhận dạng.