我正在开发一个从 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/