场景
vuecli3或者vuecli4项目,本地运行可以正常访问静态资源,打包发布到线上后,通过域名访问后无法访问到静态资源,也就是404
原因分析
1.配置的映射域名并不是在根域名下,而是在次一级的location下,而publicPath配置的却是绝对路径
关于publicPath的配置,vuecli官方给了详细的解决办法,即是把vue.config.js中的publicPath改成相对路径,网上大部分人都是这么说的,然儿并不能彻底解决这个问题。
https://cli.vuejs.org/zh/config/
2.为什么配置了还是无效,网上大部分都是讲到这一步请看上图的黄色部分,相对路径配置并不是都能生效的,如果你的项目还是不能访问静态资源,说明你使用了vue-router的history模式的路由,那么你需要在你的路由中配置中base路径,解决办法:
1.假设我的项目映射的域名是 http://www.baidu.com/log
在我的环境文件中增加环境变量