Mô-đun dùng chung là tập hợp các tài nguyên không có quyền truy cập và có thể được chia sẻ giữa các tiện ích và ứng dụng. Sau đây là các cách phổ biến của Mô-đun dùng chung:
- 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à nguồn khác cho cung cấp API có thể được cập nhật một cách độc lập với các tiện ích phụ thuộc vào API đó. Thông tin này có thể là hữu ích cho thời gian chạy và công cụ phát triển trò chơi, trong đó ứ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 được chia sẻ.
- Tối ưu hoá lượt tải xuống. Mô-đun được chia sẻ chứa các tài nguyên phổ biến được nhiều tiện ích sử dụng. Tệp này được tải xuống một lần, lần đầu tiên một tiện ích phụ thuộc được cài đặt.
Tệp kê khai
Mô-đun dùng chung được sử dụng thông qua hai trường tệp kê khai: xuất và nhập.
Trường export (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
}
Trường nhập đượ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 của Mô-đun dùng chung được truy cập bằng đường dẫn dành riêng _modules/SHARED_MODULE_ID trong gốc của tiện ích đang nhập. Ví dụ: để bao gồm tập lệnh "foo.js" từ một Mô-đun được chia sẻ có Mã " phânchi:cc
<script src="_modules/cccccccccccccccccccccccccccccccc/foo.js">
Nếu tiện ích nhập có ID "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", thì URL đầy đủ đến tài nguyên trong Mô-đun được chia 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ủ lên nguồn gốc của quá trình nhập tiện ích, tất cả đặc quyền được cấp cho tiện ích nhập sẽ dùng được cho mã trong mục Chia sẻ Mô-đun. 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 được tự động cài đặt từ Cửa hàng Chrome trực tuyến khi người phụ thuộc cần và tự động bị gỡ cài đặt khi tiện ích cuối cùng tham chiếu đến tiện ích đó bị gỡ cài đặt. Để tải lên tiện ích sử dụng Mô-đun được 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à tiện ích này không bị hạn chế sử dụng Mô-đun được chia sẻ bằng danh sách cho phép.
Trong quá trình phát triển, bạn cần phải cài đặt bất kỳ Mô-đun được chia sẻ nào mà tiện ích của bạn sử dụng theo cách thủ công. Quá trình cài đặt tự động không diễn ra đối với những tiện ích được tải không qua cửa hàng ứng dụng hoặc tải dưới dạng đã giải nén tiện ích. Đối với các Mô-đun dùng chung đã được cài đặt cục bộ, đã giải nén, bạn phải sử dụng trường khoá để đảm bảo Mô-đun dùng chung sử dụng đúng mã.