没有通过 create-react-app 获取 Service Worker

IT技术 javascript reactjs service-worker
2021-05-15 21:42:48

最近,我创建了两个 React 应用程序,并且在它们两个中都没有服务工作者,而是生成了一个新文件,即“reportWebVitals.js”。这是我创建新应用程序后 src 的文件夹结构。 文件结构

此外,如果我们检查运行应用程序,浏览器会显示“未检测到匹配的服务工作者”

4个回答

谢谢@jonrsharpe 所以,CRA 不直接使用默认安装命令为 Service Worker 提供支持,因为开发人员可能不会将应用程序制作为 PWA。因此,他们决定保留它的可选性。像我一样,如果你有其他人想在创建新应用程序时安装 Service Worker,首选:

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:

npx create-react-app my-app --template cra-template-pwa

2 将 service-worker.js 从新创建的应用程序复制到您的 src 目录中

3 将 package.json 中的“workbox-*”依赖项复制到 package.json 依赖项中

4 (可选)如果您需要 web-vitals,请将 web-vitals 依赖项从 package.json 复制到您的 package.json

并且不要忘记再次运行“yarn install”或“npm install”

而已

运行此命令“npx create-react-app your-app-name --template cra-template-pwa”而不是“npx create-react-app your-app-name”

你需要运行这个命令

npx create-react-app your-app-name --template cra-template-pwa

代替

npx create-react-app your-app-name