Vue-cli assets SubDirectory及PublicPath区别详解
近期在参与用vue+ springBoot前后端不分离项目,遇到了前端打包后dist文件放到后台无法运行报404错误,static下的资源都访问不了问题。
问题1:我们知道前后端不分离项目,一些静态图片、页面直接放在resource/static下,由于前后台分开开发,前端进行了跨域处理,dist文件放到后台就相当于本地静态资源,所以不需要跨域处理,可以将引入跨域的路径baseURL置空
const service = axios.create({ //baseURL: '/appstore', baseURL: '', responseType: 'json', timeout: 5000 // request timeout })
问题2:就是assetsPublicPath的问题,先去分析下assetsPublicPath和assetsSubDirectory 。
找到config/index.js文件下的build配置改为 assetsPublicPath: '/dist/'
build: { index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', // assetsPublicPath: '/', assetsPublicPath: '/dist/', }
- index:模板
- assetsRoot:打包后文件存放的路径
- assetsSubDirctory:除了index.html之外的静态资源要存放的路径
- assetsPublicPath: 代表打包后,index.html里面引用资源的相对地址
这样配置下就ok了
后台访问时要加上assetsPublicPath地址dist,即http://localhost:8080/dist/index.html#
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
在 Vue 中使用 dhtmlxGantt 组件时遇到的问题汇总(推荐)
dhtmlxGantt一个功能丰富的甘特图插件,支持任务编辑,资源分配和多种视图模式,这篇文章主要介绍了在 Vue 中使用 dhtmlxGantt 组件时遇到的问题汇总,需要的朋友可以参考下2023-03-03vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
这篇文章主要介绍了vue Treeselect 树形下拉框:获取选中节点的ids和lables操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08
最新评论