vue打包后发布文件路径错误且报错Unexpected token <

问题:vue生产环境打包后访问页面报错Unexpected token <

项目执行npm run dev和npm run build-dev(开发环境打包)都没有问题
当使用npm run build-prod(生产环境)打包,发布之后查看报错:


image.png

解决过程如下:

此处所采用的的是vue-cli2.x
1.修改文件config/index.js,修改build配置中的内容

image.png

assetsSubDirectory: './static',
assetsPublicPath: './',

如上修改后打包可以打开不在报错,但是找不到图片以及文字了
2.修改build/utils.js文件,修改publicPath


image.png
publicPath: '../../'

重新打包后,访问正常

未查明情况

用过与该项目相同的脚手架,搭建了两个项目,然而另外的项目却没有该问题,暂未发现问题所在。

问题继续

本项目Nginx配置中存在前置web-pmms


image.png

最终还原了上方的三处修改,将config/index.js中assetsPublicPath做如下修改

image.png

image.png

总结:

assetsPublicPath是配置为相对路径还是绝对路径,取决于你打包后前端资源怎么发布部署

vue-cli2.x版本
情况1:如果应用配置在一个域名的根路径上,例如http://10.0.0.106:8080/,则直接配置assetsPublicPath:'/';
情况2:如果应用配置在一个域名的子路径上,例如http://10.0.0.106:8080/myapp,则应设置assetsPublicPath:'/myapp/';
这个值也可以设置为空字符串('')或相对路径('./'),这样所有资源都会被链接为相对路径,这样打包后的文件可以被部署在任意路径。

vue-cli3.x版本
需要在vue.config.js 添加baseUrl:‘xxx’
vue-cli 4.x版本
需要在 vue.config.js 中修改 publicPath:'xxx'

你可能感兴趣的:(vue打包后发布文件路径错误且报错Unexpected token <)