在 npm 运行 build in react 之后没有 service-worker.js 文件
no service-worker.js file after npm run build in react
在 运行 npm run dev
构建文件夹中没有服务-worker.js 文件。
I'm also changed serviceWorker.register()
in index.js
I'm also using firebase in this project.
这里是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"
}
}
在 firebase 中部署后,出现此错误。
serviceWorker.js:97
Error during service worker registration: DOMException: Failed to register a ServiceWorker for scope ('https://.web.app/') with script ('https://*.web.app/service-worker.js'):
The script has an unsupported MIME type ('text/html').
我遇到了同样的问题,并按照 GitHub 问题中的这些步骤解决了:
create-react-app升级到4.x版本后发生。
“修复”是创建一个虚拟应用程序:
npx create-react-app my-app --template cra-template-pwa-typescript
并将相关代码复制过来:
reportWebVitals.ts
service-worker.ts
serviceWorkerRegistration.ts
并且不要忘记 index.tsx 中的初始化代码。
Create React App 提供的 serviceWorker.js 仅用于注册服务工作者文件(比如 sw.js )。请尝试以下步骤,看看是否有效:
在 'public' 文件夹中创建一个 sw.js 文件(此文件将保存您的服务工作者的逻辑)。
打开Create React App提供的serviceWorker.js进入函数register的定义
按照代码,转到注册服务工作者的行。可能是
if(导航器中的“serviceWorker”){
navigator.serviceWorker.register('/path/to/sw.js').then()
}
这里把/path/to/sw.js
改成你在'public'目录下创建的文件/sw.js
。这对应于hostname.com/sw.js
这样做,service worker 可能会被注册。事情从这里变得更加复杂。
GlHf
在 运行 npm run dev
构建文件夹中没有服务-worker.js 文件。
I'm also changed
serviceWorker.register()
in index.js
I'm also using firebase in this project.
这里是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"
}
}
在 firebase 中部署后,出现此错误。
serviceWorker.js:97 Error during service worker registration: DOMException: Failed to register a ServiceWorker for scope ('https://.web.app/') with script ('https://*.web.app/service-worker.js'): The script has an unsupported MIME type ('text/html').
我遇到了同样的问题,并按照 GitHub 问题中的这些步骤解决了:
create-react-app升级到4.x版本后发生。
“修复”是创建一个虚拟应用程序:
npx create-react-app my-app --template cra-template-pwa-typescript
并将相关代码复制过来:
reportWebVitals.ts
service-worker.ts
serviceWorkerRegistration.ts
并且不要忘记 index.tsx 中的初始化代码。
Create React App 提供的 serviceWorker.js 仅用于注册服务工作者文件(比如 sw.js )。请尝试以下步骤,看看是否有效:
在 'public' 文件夹中创建一个 sw.js 文件(此文件将保存您的服务工作者的逻辑)。
打开Create React App提供的serviceWorker.js进入函数register的定义
按照代码,转到注册服务工作者的行。可能是
if(导航器中的“serviceWorker”){ navigator.serviceWorker.register('/path/to/sw.js').then() }
这里把
/path/to/sw.js
改成你在'public'目录下创建的文件/sw.js
。这对应于hostname.com/sw.js
这样做,service worker 可能会被注册。事情从这里变得更加复杂。
GlHf