Vue打包后相对路径的引用问题怎么解决
这篇“Vue打包后相对路径的引用问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue打包后相对路径的引用问题怎么解决”文章吧。
打包后相对路径的引用
vue打包部署后,访问是需要加上项目名
这时候访问是使用绝对路径就会处问题了。
解决办法
把引用路径改为相对路径
解决JS、CSS等资源
打开build文件夹下的webpack.prod.conf.js,找到output,添加“ publicPath: ‘./’,”即可
或者打开config文件夹下的index.js,找到build,修改“assetsPublicPath: ‘./’”即可
解决图片的引用问题
打开build文件夹下的utils.js,如下修改即可
vue cli打包相对路径遇到的坑
<script class="lazy" data-src="/js/index.67b1c383.js"></script>
这个是vue打包之后的绝对路径,但是想要的是:
<script class="lazy" data-src="./js/index.67b1c383.js"></script>
这种相对路径
网上说的,大部分解决方案是修改publicPath: './', ,但是实际测试之后,还是有很大的问题
第一种打包设置:publicPath: './', 结果:<script class="lazy" data-src="js/chunk-vendors.dbdd0915.js"> 还是相对路径
第一种打包设置:publicPath: '', 结果:<script class="lazy" data-src="js/chunk-vendors.dbdd0915.js"> 也是相对路径
第一种打包设置:publicPath: '../', 结果:<script class="lazy" data-src="../js/chunk-vendors.dbdd0915.js"> 这个就非常神奇了,一个点的时候不行,2个点的时候,反而能行,不知道为啥。
publicPath: process.env.NODE_ENV === 'production' ? '././' : '/'
以上就是关于“Vue打包后相对路径的引用问题怎么解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341