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ể được chia sẻ giữa các tiện ích và ứng dụng khác. Các 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ột Mô-đun dùng chung có thể cung cấp HTML, JS và nguồn khác để cung cấp một API có thể được cập nhật độc lập với các tiện ích phụ thuộc vào API đó. Điều này có thể hữu ích cho môi trường thời gian chạy và công cụ phát triển trò chơi, nơi các ứng dụng thường có tải trọng dữ liệu nhỏ hơn chạy trên mã của Mô-đun dùng chung.
  • Để tối ưu hoá quá trình tải xuống. Mô-đun được chia sẻ chứa các tài nguyên phổ biến mà nhiều tiện ích sử dụng. Phần mềm 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 2 trường tệp kê khai: xuất và nhập.

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 tiện ích đó:

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

Các tiện ích và ứng dụng sử dụng trường import để 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 theo đườ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" vào một Mô-đun dùng chung có mã nhận dạng "cccccccccccccccccccc", hãy sử dụng đường dẫn sau từ thư mục gốc của tiện ích:

<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ì 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 quyền được cấp cho tiện ích nhập đều có sẵn để mã trong Mô-đun dùng chung. Ngoài ra, Mô-đun được chia sẻ có thể truy cập vào 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 được tự động 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 mô-đun đó bị gỡ cài đặt. Để tải lên tiện ích sử dụng Mô-đun chia sẻ, Mô-đun được chia sẻ phải được xuất bản 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ẻ theo 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 được chia sẻ mà tiện ích của bạn sử dụng. Tự động cài đặt không xảy ra đối với tiện ích được tải bên cạnh hoặc đượ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 dùng chung sử dụng đúng mã nhận dạng.