部署到 firebase 托管的 ReactJS 应用程序在首次部署后未更新
ReactJS app deployed to firebase hosting not updating after first deployment
希望你们一切都好并保持安全。
我一直在尝试使用 firebase 将我的 React 应用程序部署到网络上,在我尝试更新 it/redeploying 之前一切都很顺利。它在我的终端中显示 ✔ Deploy complete!
但我查看了网站,它没有显示更新。我尝试将以下代码放入 firebase.json
:
"headers": [
{
"source": "/service-worker.js",
"headers": [
{
"key": "Cache-Control",
"value": "no-cache"
}
]
}
]
但这并没有改变任何事情。我发布应用程序的步骤如下:
npx create-react-app firebase-test
cd firebase-test
firebase login
firebase init #I only chose hosting, chose to configure as a single-page application, wrote build as my public folder
npm run build
firebase deploy
它显示了第一次部署,但是当我再次尝试部署时,我没有看到任何更新。
如果部署完成并且您看到一条注释,但网站未更新,则表示您的应用程序包未更改,请确保您 运行 npm 运行 build在 运行部署命令之前
您的 service-worker.js
可能仍在缓存中,因为您在首次访问该站点后添加了 Cache-Control
header。
这意味着您的浏览器没有尝试再次请求该文件,而是从内存中提供它。即使是标准刷新 (CTRL/CMD + R) 也无济于事。
尝试硬刷新 (CTRL+Shift + R),或在您的开发者工具中手动清除应用程序的缓存。您的浏览器将 re-download service-worker.js
与正确的 Cache-Control
header,并且问题不会再次出现。
并且,一如既往,确保您在部署之前实际构建了您的应用程序:)
希望你们一切都好并保持安全。
我一直在尝试使用 firebase 将我的 React 应用程序部署到网络上,在我尝试更新 it/redeploying 之前一切都很顺利。它在我的终端中显示 ✔ Deploy complete!
但我查看了网站,它没有显示更新。我尝试将以下代码放入 firebase.json
:
"headers": [
{
"source": "/service-worker.js",
"headers": [
{
"key": "Cache-Control",
"value": "no-cache"
}
]
}
]
但这并没有改变任何事情。我发布应用程序的步骤如下:
npx create-react-app firebase-test
cd firebase-test
firebase login
firebase init #I only chose hosting, chose to configure as a single-page application, wrote build as my public folder
npm run build
firebase deploy
它显示了第一次部署,但是当我再次尝试部署时,我没有看到任何更新。
如果部署完成并且您看到一条注释,但网站未更新,则表示您的应用程序包未更改,请确保您 运行 npm 运行 build在 运行部署命令之前
您的 service-worker.js
可能仍在缓存中,因为您在首次访问该站点后添加了 Cache-Control
header。
这意味着您的浏览器没有尝试再次请求该文件,而是从内存中提供它。即使是标准刷新 (CTRL/CMD + R) 也无济于事。
尝试硬刷新 (CTRL+Shift + R),或在您的开发者工具中手动清除应用程序的缓存。您的浏览器将 re-download service-worker.js
与正确的 Cache-Control
header,并且问题不会再次出现。
并且,一如既往,确保您在部署之前实际构建了您的应用程序:)