在 React 中 npm run build 后没有 service-worker.js 文件

Him*_*han 6 firebase reactjs progressive-web-apps create-react-app

运行后npm run devbuild 文件夹中没有 service-worker.js 文件。

我也在serviceWorker.register()index.js 中 进行了更改
,我也在这个项目中使用firebase。

这是package.json文件

{
  "name": "movie",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "axios": "^0.20.0",
    "email-verifier": "^0.4.1",
    "firebase": "^7.24.0",
    "history": "^5.0.0",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-lottie": "^1.2.3",
    "react-router-dom": "^5.2.0",
    "react-scripts": "^4.0.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@types/react-router-dom": "^5.1.6"
  }
}

Run Code Online (Sandbox Code Playgroud)

在 firebase 中部署后,我收到此错误。

serviceWorker.js:97 服务工作线程注册期间出错:DOMException: 无法使用脚本 ('https:// * .web.app /service-worker ) 为范围 ('https:// .web.app/')注册 ServiceWorker .js'):脚本具有不受支持的 MIME 类型('text/html')。

在此输入图像描述

小智 4

我遇到了同样的问题,并按照 GitHub 问题中的以下步骤解决了:

这是在 create-react-app 升级到 4.x 版本后发生的。

“修复”是创建一个虚拟应用程序:

npx create-react-app my-app --template cra-template-pwa-typescript
Run Code Online (Sandbox Code Playgroud)

并复制相关代码:

reportWebVitals.ts

service-worker.ts

serviceWorkerRegistration.ts
Run Code Online (Sandbox Code Playgroud)

并且不要忘记index.tsx 中的初始化代码。