部署到 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,并且问题不会再次出现。

并且,一如既往,确保您在部署之前实际构建了您的应用程序:)