vue多级路由请求js文件路径不对的解决方法

1、问题描述

最近因为项目的原因开始学习vue,看了几天教程然后开始撸项目。撸的过程也挺顺利,撸了一个多月项目要上线的时候却出现了问题——用history模式打开网站的时候,从导航点到具体的内容页是正常的,但是一刷新内容页就空白了。

比如:打开网站首页是正常的 http://localhost:8888/ 刷新也没问题。

通过鼠标点击,从导航栏进入商家详情页的某个项目也是正常的 http://localhost:8888/Business/ResetBusiness 但是刷新下页面就空白了。控制台报错如下。

点进去错误查看,app.js中竟然都是html代码

怎么会这样子,html怎么会被打包到了js中。为此我查了好久,感觉是打包工具出了问题,但是vue-cli的打包工具很复杂,具体是哪里,还真不好找。

后来查了下network,发现app.js的请求路径是这样的。请求路径如下

这是不对的,app.js的请求路径竟然多了一个Business。而打包后的app.js是在根目录的,如果用相对路径请求的话,肯定是请求不到的。app的正确地址就是应该是这个才对。http://localhost:8888/app.js

2. 找原因

发薪问题,下一步就是开始找原因,由于对vue的不太熟,这个过程真是耗费了很长时间,这中间也请教了很多vue的大佬,然后大佬们也没有找到问题所在。可怕的是他们都没有遇到过这个问题。

找了一两天,终于被我找到原因了。是因为之前被一篇vue教程误导了。这个教程说要修改webpack.base.config.js 中build项的assetsPublicPath 为相对路径

坑爹啊,我想骂楼主的心都有了。那篇教程在这里。https://segmentfault.com/a/1190000009291545

3.解决办法

把assetsPublicPath 改为绝对路径 '/' 就可以了。 就这么简单。

转载于:https://juejin.im/post/5b29be7e51882574934c3509

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值