一、问题描述
今天有个小伙伴反馈,在线上遇到一个很奇怪的问题,项目发布后,页面像是访问得到,但死活在转圈圈:
控制台看到了一个奇怪的错误:
Uncaught SyntaxError: Unexpected token '<'
二、问题排查
一般看到那样的错误,首先想到的是在请求js文件时,服务器返回的内容并不是js。果然,在Network面板上,找到了这个错误的请求:
可以看到,它请求的app.11474804.js
,服务器返回的却是html内容(实际就是index.html)。同时发现,在同一路径目录/js
下的其它js文件能够正常返回内容,那么有可能是以下原因:
(1)该文件app.11474804.js
并不存在
(2)Ngnix配置有问题(特别是有可能针对js/app类似的路径做了特殊的配置)
最终经过排查确定,是app.11474804.js
可能被误报为病毒被删除了,导致文件不存在。
三、后续补充
今天早上就在登记这个问题不久,刚好又有个小伙伴反馈了这个问题:
小伙伴的浏览器用的是Chrome 120.0.6099.200,而我的Chrome刚好也是这个版本,实际测试页面并未复现,但截图中的js直接范围的确是404,那么有一种可能就是这个小伙伴的Chrome有缓存导致的,最后小伙伴清理了缓存后就正常了。