vue 开发时多级路由请求js文件路径不对

我的vue项目开发时,一级路由localhost:8080/mine是正常的,二级路由localhost:8080/mine/setting报错,如下:

clipboard.png

但是我检查元素的时候,页面引用的js路径是正常的:

clipboard.png

但是却请求到localhost:8080/mine/app.web.js去了,dist文件目录如下:

clipboard.png

各位大神知道是什么原因吗?

回复
阅读 6.3k
3 个回答

试了下还真是。
你是不是在写weex,不知道跟vue-cli里打包和运行的机制一样不,使用history模式在子路由刷新页面的话,你主动引入的文件会以当前最终级路由的路径作为相对路径找。
要不你试试非history模式?
找到了一个相关问题
文档里也提了。
刷新的话走的是浏览器的正常地址解析,包括一级路由应该也这样。

当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。

history模式无服务器支持的情况下刷新应该就这样。

如果你的dist文件夹是放在服务器根目录下的 你引用应该是

src="/mine/dist/app.web.js"

修改webpack.base.config.js 中build项的assetsPublicPath为绝对路径,就可以了。
assetsPublicPath: '/'

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏