React 和 Serviceworker (Workbox)

React and Serviceworker (Workbox)

m trying to figure out how I can combine my react app with workbox as my serviceworker. No matter what I我在尝试注册我的 serviceworker 时总是遇到同样的错误。

未捕获(承诺)DOMException:无法注册 ServiceWorker:脚本具有不受支持的 MIME 类型 ('text/html')。

我查了下,大部分的解决办法都是dev环境问题。这是真的?如果是这样,我如何在开发环境中注册服务人员,尤其是工作箱。

我的 index.js

中的代码片段
if( 'serviceWorker' in navigator ) {
   console.log("Supported!")
   navigator.serviceWorker
                   .register( 'sw.js' , { scope : ' ' } )
                   .then( function( ) {
                       console.log('Congratulations!!Service Worker Registered');
                   })
                   .catch( function() {
                       console.log(`Aagh! Some kind of Error :- `);
                   });
} else {
console.log("Not supported")
}

我的 sw.js 除了一个简单的 console.log

有几件事要检查, 1) create-react-app 现在创建了一个开箱即用的 PWA 应用程序(带有 SW 和 manifest.json 文件)。确保您不与由此创建的文件冲突。我建议使用开箱即用的东西,除非你有明确的理由使用 Workbox,它应该可以与任何 framework/no 框架一起使用,试试原生的东西。

2) 确保您 运行 您的应用程序位于支持 HTTPS(带有证书)和服务工作者的服务器中。