对于使用 typescript 开发的 chrome 扩展,我们需要在 typings 文件夹中有一个名为 chrome.d.ts 的定义文件,用于访问 web 扩展 API,如 chrome.runtime.* 或 chrome.tabs.*。
对于边缘扩展,在 typescript 中开发,我们需要在 typings 文件夹中有一个名为 browser.d.ts 的定义文件,用于访问像 browser.runtime 这样的 Web 扩展 API。*
我们如何使用 Node 包管理器 (npm) 下载此依赖项。 我在我的 background.ts 扩展文件中添加了对该文件的引用,例如:
///引用路径="typings/browser/browser.d.ts"
最佳答案
更新:
Firefox 的浏览器 API 及其浏览器 polyfill 库可以使用类型。
- Firefox 类型:npmjs.com/package/@types/firefox-webext-browser
- 浏览器 polyfill 的类型:npmjs.com/package/webextension-polyfill-ts
不幸的是,Edge 的浏览器 API 与 Firefox 的不同。 Edge 使用回调,而 Firefox 使用 Promises。这可能会改变,也可能不会改变。
参见:
关于node.js - browser.d.ts 对 Edge Web 扩展 API browser.runtime.* 的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650517/