Firebase 部署不更新 JS 文件
Firebase deploy not updating JS file
我部署了一个 Firebase 应用程序,并对项目中的一个 JavaScript 文件进行了更改。我从项目目录重新执行 firebase deploy
,但网站上的文件没有更新。当我部署时,帐户管理显示发生更新,但文件保持不变。我做错了什么吗?我怎么能fix/troubleshoot这个?任何帮助将不胜感激。
谢谢
如果部署成功,这可能是缓存问题。
您可以尝试按 cmd+shift+R(Windows 上的 ctrl+shift+R)硬刷新缓存。
尝试直接转到文件的 URL (https://<my-app>.web.app/app.js
),然后进行硬刷新。您应该会看到它更新为您在本地拥有的内容。
使用 Chrome,您可以在打开 DevTools 时禁用缓存,方法是在“网络”选项卡中选择“禁用缓存”选项。
确保您正在构建您在部署之前所做的任何新更改。
例如,如果您有一个 angular 2 应用程序并且正在使用 angular cli 类型 ng build 然后 firebase deploy.
要清除缓存,请按 Ctr+F5 或更好地使用隐身模式进行开发。使用隐身模式强制重新加载适用于移动设备和桌面设备。
正在刷新您的网络浏览器
在大多数 Windows 和 Linux 浏览器中:
按住 Ctrl 并按 F5。
在 Apple Safari 中:
按住 ⇧ Shift 并单击重新加载工具栏按钮。
在 Chrome 和 Mac 的 Firefox 中:
同时按住 ⌘ Cmd+⇧ Shift 并按 R。
希望对您有所帮助
来源:https://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache
我有同样的问题,我确实清除了缓存和所有内容,但我仍然有同样的问题,然后 运行
yarn build
然后我就可以看到我最近的变化了。
嗯,我正在开发一个 PWA。我遇到了同样的问题,但上面的步骤没有解决..所以我尝试了这个方法,发现它很有帮助..
尝试删除 map.js 和 re-run npm run build
两次。为什么两次??因为第一个会产生错误,但它还会重建 map.js 文件,该文件实际上对应于 .js 文件的更改。最后 firebase deploy
应该会为您提供您想要托管的工作站点。下面是我的项目文件的图像,其中包括要删除的文件的位置。
在 Incognition window 中尝试相同的托管 URL,当我进入 incognito windows 时它对我有效,因为我在同一个地方维护了 localhost 和域 URL window.
试试吧,这对你来说可能也是个问题,谢谢
关于 React(create-react-app)- 如果有人出于与我相同的原因来到这里:
我遇到了重新部署项目的问题。部署最初有效,但当我尝试重建(npm run build
)和重新部署(firebase delpoy
)时,我的网站显示了一个 firebase 错误页面(在使用 ctrl+shift+r 更新缓存后,如此处所建议) .经过长时间的检查,我意识到我应该对我的 firebase.json 添加重写,所以它看起来像这样:
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [ {
"source": "**",
"destination": "/index.html"
} ]
},
"storage": {
"rules": "storage.rules"
}
}
尝试重新安装可能会更好 firebase-tools
- 在遇到与您类似的问题后,我 运行 npm i -g firebase-tools
似乎已经解决了。
为了在部署前不再忘记 build
我把它放在我的 package.json
:
"scripts": {
"build": "node build/build.js && firebase deploy"
}
这样我就不用记住了。自动化部署。
如果您使用的是 React 或 Vue,请不要忘记在 运行 之前 运行 像 npm 运行 build 这样的构建命令命令 firebase deploy
我在构建项目时遇到了类似的问题,硬重置缓存但没有任何效果。
然后我意识到我前面有几层 cloudflare cdn,它正在提供缓存数据。所以如果你前面有CDN,开发的时候关掉它。
另一种方法是删除 dist/ 文件夹和 运行 步骤,
- firebase 初始化
- ng 构建 --prod
- firebase 部署
再次。它对我有用。
我在使用 React 应用程序时遇到了同样的问题。
终于意识到我没有 运行 'npm run build' 因此构建文件夹中的所有内容都没有更新,这正是 Firebase 正在部署的内容。
我也有类似的问题。我正在使用 React.js 构建一个 Covid Tracker,我注意到我的代码中有一个错误。修复后,我是 运行 firebase deploy
但它什么也没做。
长话短说,您需要先构建项目,然后再部署它。 运行 npm run build
将为您的项目创建一个新的优化版本,然后 firebase deploy
将继续更新您的网站。
我在firebase上托管的HUGO网站也有同样的问题app.and问题已成功解决,可以作为你的参考。
首先需要删除本地的public文件,然后才能重新建站使用
HUGO -D
现在 public 文件已重建。
然后再次部署。
Firebase deploy
我想为什么 firebase 没有更新是你只更新了内容,但它不能自动更新 pubic 文件,你需要重新构建 public 文件。
我部署了一个 Firebase 应用程序,并对项目中的一个 JavaScript 文件进行了更改。我从项目目录重新执行 firebase deploy
,但网站上的文件没有更新。当我部署时,帐户管理显示发生更新,但文件保持不变。我做错了什么吗?我怎么能fix/troubleshoot这个?任何帮助将不胜感激。
谢谢
如果部署成功,这可能是缓存问题。
您可以尝试按 cmd+shift+R(Windows 上的 ctrl+shift+R)硬刷新缓存。
尝试直接转到文件的 URL (https://<my-app>.web.app/app.js
),然后进行硬刷新。您应该会看到它更新为您在本地拥有的内容。
使用 Chrome,您可以在打开 DevTools 时禁用缓存,方法是在“网络”选项卡中选择“禁用缓存”选项。
确保您正在构建您在部署之前所做的任何新更改。
例如,如果您有一个 angular 2 应用程序并且正在使用 angular cli 类型 ng build 然后 firebase deploy.
要清除缓存,请按 Ctr+F5 或更好地使用隐身模式进行开发。使用隐身模式强制重新加载适用于移动设备和桌面设备。
正在刷新您的网络浏览器
在大多数 Windows 和 Linux 浏览器中: 按住 Ctrl 并按 F5。
在 Apple Safari 中: 按住 ⇧ Shift 并单击重新加载工具栏按钮。
在 Chrome 和 Mac 的 Firefox 中: 同时按住 ⌘ Cmd+⇧ Shift 并按 R。
希望对您有所帮助
来源:https://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache
我有同样的问题,我确实清除了缓存和所有内容,但我仍然有同样的问题,然后 运行
yarn build
然后我就可以看到我最近的变化了。
嗯,我正在开发一个 PWA。我遇到了同样的问题,但上面的步骤没有解决..所以我尝试了这个方法,发现它很有帮助..
尝试删除 map.js 和 re-run npm run build
两次。为什么两次??因为第一个会产生错误,但它还会重建 map.js 文件,该文件实际上对应于 .js 文件的更改。最后 firebase deploy
应该会为您提供您想要托管的工作站点。下面是我的项目文件的图像,其中包括要删除的文件的位置。
在 Incognition window 中尝试相同的托管 URL,当我进入 incognito windows 时它对我有效,因为我在同一个地方维护了 localhost 和域 URL window.
试试吧,这对你来说可能也是个问题,谢谢
关于 React(create-react-app)- 如果有人出于与我相同的原因来到这里:
我遇到了重新部署项目的问题。部署最初有效,但当我尝试重建(npm run build
)和重新部署(firebase delpoy
)时,我的网站显示了一个 firebase 错误页面(在使用 ctrl+shift+r 更新缓存后,如此处所建议) .经过长时间的检查,我意识到我应该对我的 firebase.json 添加重写,所以它看起来像这样:
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [ {
"source": "**",
"destination": "/index.html"
} ]
},
"storage": {
"rules": "storage.rules"
}
}
尝试重新安装可能会更好 firebase-tools
- 在遇到与您类似的问题后,我 运行 npm i -g firebase-tools
似乎已经解决了。
为了在部署前不再忘记 build
我把它放在我的 package.json
:
"scripts": {
"build": "node build/build.js && firebase deploy"
}
这样我就不用记住了。自动化部署。
如果您使用的是 React 或 Vue,请不要忘记在 运行 之前 运行 像 npm 运行 build 这样的构建命令命令 firebase deploy
我在构建项目时遇到了类似的问题,硬重置缓存但没有任何效果。 然后我意识到我前面有几层 cloudflare cdn,它正在提供缓存数据。所以如果你前面有CDN,开发的时候关掉它。
另一种方法是删除 dist/
- firebase 初始化
- ng 构建 --prod
- firebase 部署 再次。它对我有用。
我在使用 React 应用程序时遇到了同样的问题。
终于意识到我没有 运行 'npm run build' 因此构建文件夹中的所有内容都没有更新,这正是 Firebase 正在部署的内容。
我也有类似的问题。我正在使用 React.js 构建一个 Covid Tracker,我注意到我的代码中有一个错误。修复后,我是 运行 firebase deploy
但它什么也没做。
长话短说,您需要先构建项目,然后再部署它。 运行 npm run build
将为您的项目创建一个新的优化版本,然后 firebase deploy
将继续更新您的网站。
我在firebase上托管的HUGO网站也有同样的问题app.and问题已成功解决,可以作为你的参考。
首先需要删除本地的public文件,然后才能重新建站使用
HUGO -D
现在 public 文件已重建。
然后再次部署。
Firebase deploy
我想为什么 firebase 没有更新是你只更新了内容,但它不能自动更新 pubic 文件,你需要重新构建 public 文件。