在 Chrome 扩展后台脚本中使用哨兵无法正常工作
Using Sentry in Chrome Extension Background script not wroking
我查看了官方哨兵文档,也查看了一些其他参考资料,但我找不到解决方案...
基本上我正在尝试在我的浏览器扩展程序中安装 sentry。
所以在我的background.js中我做了以下
从“@sentry/browser”导入 * 作为哨兵;
Sentry.init({
dsn: '...'
});
但是...这没有任何作用? - 它似乎也停止了我的其余代码的工作,例如:
我的 background.js
中有以下代码
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
if (changeInfo.status === 'complete') {
currentTab = tab;
console.log(tab);
}
});
现在,如果我注释掉 sentry init,此代码将按预期运行,但一旦我将 sentry init 放回原处,此代码就不再运行。
我没有收到任何错误,而且我找不到任何关于如何使用浏览器扩展实现哨兵的真实示例。现在我知道这是可能的,但我显然做错了什么?
我似乎找到了我的问题的解决方案我正在使用 webpack 将我的 chrome-扩展与所需的依赖项捆绑在一起。 Webpack 正在生成一个 vendor.js 文件,其中包含所有导入的依赖项。
就我而言,我犯的错误是没有将该文件添加为 manifest.json 文件中的脚本。
...
"background": {
"matches": ["https://*/*"],
"scripts": ["js/vendor.js","js/background.js"],
"persistent": true
},
...
这解决了问题,因为依赖项现在正在正确加载。
我查看了官方哨兵文档,也查看了一些其他参考资料,但我找不到解决方案...
基本上我正在尝试在我的浏览器扩展程序中安装 sentry。
所以在我的background.js中我做了以下
从“@sentry/browser”导入 * 作为哨兵;
Sentry.init({
dsn: '...'
});
但是...这没有任何作用? - 它似乎也停止了我的其余代码的工作,例如:
我的 background.js
中有以下代码chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
if (changeInfo.status === 'complete') {
currentTab = tab;
console.log(tab);
}
});
现在,如果我注释掉 sentry init,此代码将按预期运行,但一旦我将 sentry init 放回原处,此代码就不再运行。
我没有收到任何错误,而且我找不到任何关于如何使用浏览器扩展实现哨兵的真实示例。现在我知道这是可能的,但我显然做错了什么?
我似乎找到了我的问题的解决方案我正在使用 webpack 将我的 chrome-扩展与所需的依赖项捆绑在一起。 Webpack 正在生成一个 vendor.js 文件,其中包含所有导入的依赖项。 就我而言,我犯的错误是没有将该文件添加为 manifest.json 文件中的脚本。
...
"background": {
"matches": ["https://*/*"],
"scripts": ["js/vendor.js","js/background.js"],
"persistent": true
},
...
这解决了问题,因为依赖项现在正在正确加载。