带有 React 版本 17.x.x 的 PWA

问题描述

在 ReactJS 16.x.x 版本中,只需更改即可轻松制作渐进式 Web 应用程序

serviceWorker.unregister()

// to

serviceWorker.register()

但是当我安装立即使用的 React v 17.0.1 时,我在那里找不到 serviceWorker 文件,但我找到了一个 reportWebVitals 文件,用于衡量您的应用程序的性能。有没有办法让我的 v17.x.x 的 React 应用程序成为 PWA?

与此同时:我已将 serviceWorker.js 文件复制回我的工作区并注册了该应用程序,但失败并显示错误消息
Error during service worker registration: DOMException: Failed to register a ServiceWorker for scope ('MyWebsiteURL') with script ('MyWebsiteURL/service-worker.js'): The script has an unsupported MIME type ('text/html').

解决方法

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

需要添加参数 --template cra-template-pwa,因为自 CRA 4 发布以来,该工具不提供内置服务工作者。上面提到的参数创建了一个带有 Service Worker 的应用程序。