Workbox 不适用于 Chrome,但它适用于其他任何地方, 这很讽刺,因为我相信这是一个谷歌图书馆, 显示的错误是:
Uncaught (in promise) DOMException : sw.js line 1
Chrome :
我正在使用 workbox-webpack-plugin
webpack.config.js
const workbox = require('workbox-webpack-plugin');
module.exports = {
plugins: [
new workbox.GenerateSW({
swDest: './service-worker.js',
skipWaiting: true,
clientsClaim: true
})
]
}
index.ts(入口)
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/js/app/dist/service-worker.js');
});
}
编辑:这是抛出错误的代码行
编辑 2: 它实际上适用于隐身模式,删除浏览器数据仍然无济于事。
编辑 3: 更新到最新的 beta 1 更糟,因为除了最后一个错误之外,它还会显示另一个错误,但是,这个版本可以在 Chrome 的隐身模式和其他浏览器中运行。
最佳答案
如果浏览器超出分配的磁盘空间配额,通常会抛出此错误。 您的隐身模式正在运行,因为它将分配新的磁盘配额,而普通选项卡共享相同的磁盘配额。
您可以在开发者工具中打开Application
选项卡并单击Clear storage > Clear site data
吗?在大多数情况下,这应该可以解决此问题。
关于javascript - workbox serviceworker 在除 Chrome : Uncaught (in promise) DOMException 之外的任何地方工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54198028/