Angular 14项目访问求助:assets/config.json加载出现404错误
解决Angular 14升级后assets/config.json 404错误的方案
从错误路径:4200//assets/config.json可以看出,请求路径多了一个斜杠,导致资源无法被正确定位,以下是排查和解决步骤:
检查资源引用路径
全局搜索项目中所有调用assets/config.json的代码(比如HTTP请求、配置文件),重点排查路径拼接逻辑:- 若代码中是类似
${baseUrl}/assets/config.json的写法,确认baseUrl是否已以/结尾,比如baseUrl为/时,拼接后会变成//assets/config.json,改成${baseUrl}assets/config.json即可。 - 优先使用相对路径
assets/config.json而非绝对路径,避免与base href冲突。
- 若代码中是类似
确认angular.json的assets配置
检查angular.json中architect.build.options.assets数组,确保src/assets被正确包含:"assets": [ "src/favicon.ico", "src/assets" ]若配置正确,ng build会将assets目录复制到dist目录,确保资源存在。
检查index.html的base href设置
查看src/index.html中的<base href="/">,如果base href已设置为/,代码中请求资源时无需再以/开头,否则会出现路径重复斜杠的问题。清理缓存与重建项目
- 用浏览器无痕模式访问,排除缓存影响。
- 执行以下命令清理依赖和构建产物后重新构建:
rm -rf node_modules dist npm install ng build ng serve
排查路由配置
检查路由模块中是否有通配符路由(**)匹配了静态资源路径,导致请求被路由处理而非返回静态文件。确保通配符路由放在最后,且不会拦截assets目录的请求。
内容的提问来源于stack exchange,提问作者Marc
相关产品推荐
相关产品推荐

