没有通过create-react-app获取ServiceWorker
最近,我创建了两个反应应用程序,并且在它们两个中都没有服务工作者,而是生成了一个新文件,即“reportWebVitals.js”。这是我创建新应用程序后 src 的文件夹结构。
此外,如果我们检查运行该应用程序,浏览器会显示“未检测到匹配的服务工作者”
回答
谢谢@jonrsharpe 所以,CRA 不直接使用默认安装命令为 Service Worker 提供支持,因为开发人员可能不会将应用程序制作为 PWA。因此,他们决定保留它的可选性。像我一样,如果你其他人想在创建新应用程序时安装 Service Worker,首选:
npx create-react-app my-app --template cra-template-pwa
npx create-react-app my-app --template cra-template-pwa
而不是默认npx create-react-app my-app。
因此,更多你可以参考https://create-react-app.dev/docs/making-a-progressive-web-app/
回答
如果您已经有项目并且想要迁移到新版本的 CRA,您可以按照以下步骤操作:
1 使用 service worker 模板在您的计算机上的某处创建一个新的 CRA:
2 将 service-worker.js 从新创建的应用程序复制到您的 src 目录中
3 将 package.json 中的“workbox-*”依赖项复制到 package.json 依赖项中
4 (可选)如果您需要 web-vitals,请将 web-vitals 依赖项从 package.json 复制到您的 package.json
并且不要忘记再次运行“yarn install”或“npm install”
就是这样