Rails(很少)尝试加载旧的打包文件

时间:2019-06-28 10:07:49

标签: ruby-on-rails webpacker

我在我的应用程序中使用了新的文物,似乎经常出现404。尝试加载的文件是较旧的packs/js/application-blah.js,有时是一个修订版本,有时是第一个修订版本(10多个版本和数周前已部署)。从3.5升级到webpacker 4时,这开始发生(我认为)。

在12个小时内,我看到404出现10个错误,并且在该时间段内平均每分钟显示40页,因此这种情况很少见,我无法重现。它似乎并不是特定于操作系统或浏览器的,从Windows上的Edge到iOS 12上的Safari,我都可以看到它。

似乎还在尝试从packs/引入文件,我认为webpacker 4中应该不再存在该文件?

这是我在《 New Relic》中看到的摘录:

No route matches [GET] "/packs/js/application-1a5742633d44555a15cf.js"
No route matches [GET] "/packs/application-b8e132938408ef6c4ee9.js"

packs/manifest.json如下所示:

{
 "application.js": "/packs/js/application-63945be2fec97ef46418.js",
 "application.js.map": "/packs/js/application-63945be2fec97ef46418.js.map",
 "entrypoints": {
   "application": {
     "js": [
       "/packs/js/application-63945be2fec97ef46418.js"
     ],
     "js.map": [
       "/packs/js/application-63945be2fec97ef46418.js.map"
     ]
   }
 }
}

该错误在部署后一两天内出现,但在过去的一个周末(周五没有部署)没有出现,因此让我认为这是一个缓存问题。尽管它尝试加载的b8e...始终是相同的,但从未更改。

我运行了一个脚本来下载该页面,然后抬头查看它试图提供的内容,并且只看到正确的文件,因此我怀疑它可能与客户端相关?该应用程序使用Turbolinks,但是,如果它试图抓取打包文件,则应表示它已加载了整个页面,因此Turbolinks不应缓存任何旧文件。

如果任何人有什么见识可以提供,我将不胜感激!

0 个答案:

没有答案