Giới thiệu Extension.js
- Extension.js là công cụ phát triển tiện ích mở rộng đa trình duyệt theo kiểu plug-and-play, không cần cấu hình
- Hỗ trợ TypeScript, WebAssembly, React và JavaScript hiện đại để có thể tạo extension đa trình duyệt
Tạo extension mới
Sử dụng Chrome Extension Samples
Sử dụng Chrome Extension Samples trên Microsoft Edge
Chạy tiện ích Mozilla trên Edge
Sử dụng Extension.js cho extension hiện có
- Nếu extension hiện tại đã dùng trình quản lý gói, bạn có thể cài gói Extension.js và tạo script để chạy
- Cài đặt extension với tư cách
devDependency
npm install extension --save-dev
- Liên kết script npm với lệnh Extension.js
{
"scripts": {
"build": "extension build",
"dev": "extension dev",
"start": "extension start"
},
"devDependencies": {
"extension": "latest"
}
}
- Khi phát triển dùng
npm run dev, cho chế độ production dùng npm run start, còn build production dùng npm run build
Sử dụng trình duyệt cụ thể khi phát triển
- Trạng thái hỗ trợ trình duyệt trên máy tính để bàn
| Brave |
Chrome |
Edge |
Firefox |
Opera |
Safari |
Vivaldi |
| ☑️ |
✅ |
✅ |
⛔️ |
☑️ |
⛔️ |
☑️ |
- ☑️ = Khả năng hoạt động cao nhưng trình chạy trình duyệt chưa được hỗ trợ
- Trạng thái hỗ trợ trình duyệt di động
| Firefox Android |
iOS Safari |
| ⛔️ |
⛔️ |
- Để target một trình duyệt cụ thể, truyền cờ
--browser cho lệnh dev/start
- Ví dụ:
npx extension dev path/to/extension --browser=edge
- Mẹo: truyền
--browser="all" để tải tất cả trình duyệt có thể dùng cùng lúc
Ý kiến GN⁺
- Extension.js dường như là một công cụ mạnh để phát triển extension đa trình duyệt. Đặc biệt, nó có thể dùng ngay mà không cần cấu hình và dễ dàng hỗ trợ nhiều trình duyệt, có thể rút ngắn đáng kể thời gian phát triển.
- Việc có thể tận dụng các mẫu có sẵn từ Chrome Extension Samples hoặc MDN WebExtensions Examples cũng là lợi thế lớn. Ngay cả lập trình viên mới cũng có thể bắt đầu dễ dàng.
- Tuy vậy, một số trình duyệt như Firefox hay Safari có vẻ vẫn chưa được hỗ trợ hoàn toàn, nên cần lưu ý. Nếu chỉ nhắm tới một trình duyệt cụ thể, nên cân nhắc dùng công cụ phát triển riêng của trình duyệt đó.
- Cũng tò mò muốn biết điểm mạnh, điểm yếu khi so sánh với các công cụ tương tự như Plasmo, WebExtensions API. Đặc biệt, cần kiểm tra khả năng hỗ trợ các đặc điểm mới nhất như Manifest V3.
1 bình luận
Bình luận Hacker News
Plasmosafari-web-extension-converter