Chrome Extension - part 2
使用 TypeScript
如果您是使用 VSCode 或 Atom 等程式碼編輯器進行開發,則可使用 npm 套件 chrome-types,
藉此利用 Chrome API 的自動完成功能。當 Chromium 原始碼變更時,這個 npm 套件會自動更新。
ref:
- https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world?hl=zh-tw#types
- .
- https://www.npmjs.com/package/chrome-types
- .
- https://github.com/GoogleChrome/chrome-extensions-samples/tree/main
- .
- https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/functional-samples
- .
- https://developer.chrome.com/docs/extensions/get-started?hl=zh-tw
- .
- https://medium.com/@doublekien/chrome-extension-with-typescript-1589aa84e80
- .
- .
.
Important notes
.
add chrome-types in tsconfig.app.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": [
"chrome-types"
]
},
"files": [
"src/main.ts"
],
"include": [
"src/**/*.d.ts"
]
}
register Service Worker
- add background.js in manifest.json
- add background.js in angular.json
- .
in manifest.json
{
"background": {
"service_worker": "background.js"
},
"permissions": [
"activeTab"
]
}
in angular.json
{
"assets": [
"src/manifest.json",
"src/background.js"
]
}
in background.js
//
chrome.runtime.onInstalled.addListener(() => {
console.log("Background script is running");
// chrome.action.setBadgeText({
// text: "OFF",
// });
});
.