关于vue url里面包含‘#’,导致浏览器不识别问题
发布于 3 年前 作者 chaoren 1822 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

最近做了一个vue项目,是通过内部“信息发布系统”发布的,“信息发布系统”的原理是通过app外链网址实现的。

项目做好以后,其他一切都正常,但是,发布到平台以后,就出现故障了

route如下
image

项目发布的url如下:

xxx:8080/#/home?display_no=4
// display_no为必填项

但是,发布以后,显示为白屏,什么都没有
接着,测试人员换了一种方式,url不添加任何参数
地址如下:

xxx:8080

页面显示正常,但是我的display_no是必填项
于是加上display_no

xxx:8080/?display_no=4

可是生成的url又自动变成 xxx:8080/?display_no=4#/
页面又白屏了

没招儿,改路由,经过不停的测试,路由改成如下,终于好使了
image

路由里面添加了一个mode ,path地址改成path:’/’,
为什么要这样改?
1/添加mode,是为了去掉url里面的#
2/path改成’/‘,因为按照以前的/home,他要去寻找/home文件,但是vue打包以后,就只有一个入口,所以改成/
然后输入网址:

xxx:8080/?display_4
终于好使了

所以,各位大神,有个疑问,
1、为什么有井号,浏览器就识别不了了啊?
2、为什么去掉井号以后,浏览器对地址的解析方式是静态网页啊??

回到顶部