小编Lil*_*Sap的帖子

如何使用create-react-app配置服务工作者

我正在使用create-react-app实用程序创建一个ReactJS应用程序.如何配置它以使用包含服务工作者的文件?

编辑:从Javascript方面对我来说很清楚,在我的index.js中添加注册:

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('./service_workers/sw.js')
  .then(function(registration) {
    // Registration was successful...
  }).catch(function(err) {
    // registration failed ...
  });
}
Run Code Online (Sandbox Code Playgroud)

然后我的服务工作文件中的配置(对我来说是在service_wokers/sw.js):

self.addEventListener('install', function(event) {//my code here...});
self.addEventListener('activate', function(event) {//my code here...});
self.addEventListener('fetch', function(event) {//my code here...});
Run Code Online (Sandbox Code Playgroud)

当我运行此控制台时,控制台显示:ServiceWorker注册失败:DOMException:无法注册ServiceWorker:获取脚本时收到错误的HTTP响应代码(404).

该文件不存在,因为我没有配置Webpack来执行此操作.所以我试图用ouput复制sw.js文件:

test: 
     /\.(js)$/,
     loader: "file?name=[path][name].[ext]&context=./service_workers",
     include: '/service_worker'
Run Code Online (Sandbox Code Playgroud)

我认为没有必要说我对Webpack完全不熟悉.

reactjs webpack service-worker progressive-web-apps

15
推荐指数
3
解决办法
2万
查看次数