除Chrome之外的所有地方都可以使用的workbox服务工作人员:未捕获(承诺)DOMException

use*_*149 3 javascript webpack workbox workbox-webpack-plugin

Workbox无法在Chrome上运行,但在其他任何地方都可以使用,具有讽刺意味的是,由于我认为这是Google图书馆,因此显示的错误是:

Uncaught (in promise) DOMException : sw.js line 1
Run Code Online (Sandbox Code Playgroud)

铬:

在此处输入图片说明

歌剧 在此处输入图片说明

火狐浏览器 在此处输入图片说明

我正在使用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
            })
        ]  
 }
Run Code Online (Sandbox Code Playgroud)

index.ts(条目)

if ('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/js/app/dist/service-worker.js');
  }); 
}
Run Code Online (Sandbox Code Playgroud)

编辑:这是引发错误的代码行

在此处输入图片说明

在此处输入图片说明

编辑2:它实际上在icognito模式下工作,删除浏览器数据仍然无济于事。

在此处输入图片说明

编辑3:更新到最新的beta 1甚至更糟,因为除了最后一个错误,它将显示另一个错误,但是,此版本也可以在Chrome的icognito模式和其他浏览器中使用。

在此处输入图片说明

Gan*_*V S 5

如果浏览器没有分配的磁盘空间配额,通常会引发此错误。您的隐身模式正在工作,因为它将分配新的磁盘配额,而普通选项卡共享相同的磁盘配额。

您可以Application在devtools中打开选项卡并单击Clear storage > Clear site data吗?在大多数情况下,这应该可以解决此问题。

磁盘配额