reactjs - Create-react-app 服务工作人员无法正常工作

标签 reactjs service-worker create-react-app

我正在开发一个从 create-react-app 构建的 React 渐进式 Web 应用程序,并尝试注册一个服务 worker 。

但是,按照 create-react-app 上的文档进行操作后,该文档仅将 serviceWorker.unregister() 更改为 serviceWorker.register() ,并没有注册任何内容。

即使来自一个新的 create-react-app 项目,这仍然不起作用。

该主题的文档似乎非常精简,我还需要做些什么来注册 create-react-app 生成的默认服务工作人员吗?

最佳答案

第 1 步:

npm i workbox-cli

第 2 步:在项目文件夹中创建 workbox-config.js 文件

第 3 步:添加

module.exports = {
  globDirectory: './public/',
  globPatterns: ['\*\*/\*.{html,js}'],
  swDest: './public/sw.js',
  clientsClaim: true,
  skipWaiting: true
};

第 4 步:更新您的 serviceWorker.js 文件

const swUrl = `${process.env.PUBLIC_URL}/sw.js`

第 5 步:更新您的 package.json 文件

"scripts": {
  // ...    
  "build": " workbox generateSW && react-scripts build",
  // ...
}

然后构建并提供服务。

了解更多 https://medium.com/@arafatahmedtanimcsedu57/progressive-web-apps-with-create-react-app-ca0c955ab798

关于reactjs - Create-react-app 服务工作人员无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122942/

相关文章:

javascript - 在 client 和 serviceWorker 之间传输数据

javascript - 从 service worker 返回带有 JSON 的 Response 对象

reactjs - react 应用程序 : Why I get an error when I try to run npm start script?

reactjs - 在 create-react-app 构建中完全包含 Google Web 字体(不弹出)

javascript - 有context参数的时候怎么替换componentWillReceiveProps呢?

javascript - Reactjs/Javascript 更新对象键名

javascript - 异步调用两个值更新的正确方法是什么?

laravel - Service Worker 加载资源失败:net::ERR_UNSAFE_REDIRECT

reactjs - 如何在 create-react-app 中注入(inject)没有 REACT_APP 前缀的 dotenv 变量?

reactjs - 如何将 ItemSeparatorComponent 添加到 FlatList 中的最后一项