我这边是vue cli运行的项目
将项目跑起来,cli工具帮你搭建一个前端的服务器,
我在项目中是使用的proxy代理的方式解决的跨越
路由方面是使用了history 模式
因为我proxy是将全部请求都代理了
devServer: {
proxy: {
'^/': {
ws: false,
target: "http://127.0.0.1:8484",
}
}
}
而问题就出现了,在页面内跳转没问题
但是导航栏输入地址和刷新都会一直出现404,或者路由不匹配的问题出现.
ps:导航栏输入地址和刷新会向服务器发送一条get请求
然后我去查vue-router文档 : 如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html
页面,这个页面就是你 app 依赖的页面。
将伪静态改成文档上的例子不行,说是要返回同一个index.html页面,但是我项目没打包,后台没有页面返回,而且这样子怎么开发调试.
过了几天才发现自己陷入了一个思维误区.
其实cli生成的那个服务器已经做好了对应的配置,
问题出现在代理这边,我将所有的请求都发送到了我写的后台那边了.
实际上应该是要具体有发请求的时候才发到后台,其他请求应该发到cli服务器.
devServer: {
proxy: {
'/api': {
ws: false,
target: "http://192.168.2.110:8484",
}
}
}
至此,问题解决.