部署页面后出现404 (Not Found) 无法加载JS资源问题如何解决?
部署后JS文件404报错排查方案
控制台报错信息:
Failed to load resource: the server responded with a status of 404 (Not Found)
以下是本地运行正常、仅部署后报错的常见排查方向:
- 路径配置不匹配:本地开发服务的根目录和生产服务器部署路径不一致,比如项目部署在域名子目录下,但引用JS时用了以
/开头的绝对路径,或者打包工具的公共路径(Webpack的publicPath、Vite的base配置项)没有和实际部署路径对齐。建议优先核对JS引用路径,尽量使用相对路径,或者修改打包配置和部署路径保持一致。 - 文件名大小写不符:Windows、macOS系统的文件系统默认大小写不敏感,比如实际文件名为
User.js,引用时写user.js本地可正常加载,但绝大多数公共服务器使用Linux系统,文件系统大小写敏感,错误的大小写会直接返回404。需检查引用的JS文件名、后缀名的大小写和实际文件完全一致。 - 打包产物上传不完整:检查服务器对应目录下是否存在该JS文件,确认打包后的所有静态资源都已完整上传,且目录结构和打包产物一致,避免出现把整个
dist文件夹上传、导致路径多了一层dist前缀的情况。 - 服务器规则拦截:检查服务器(Nginx/Apache等)的静态资源访问规则,比如SPA应用开启history模式后,错误的路由配置可能会拦截静态资源请求;也可排查是否有静态资源后缀访问限制、CDN缓存未更新的问题,刚部署完成可尝试清除CDN缓存后再访问。
报错截图参考:

内容的提问来源于stack exchange,提问作者tinaa
相关产品推荐
相关产品推荐

