要点:

红色框内容为hash 不会通过http发送请求给服务器

发送请求时不会管你这个hash值/#/xxxx/xxx/xxx/xxx/xxx
但是不写成hash值就会找不到
vue中默认开启得时hash模式
还有一种模式为history模式
在路由配置中配置一个新的配置项
mode:‘history’ //不写默认为hash

发现路径上没有#了没有hash值了

然后hash得话兼容性要比history好一点,一些旧的浏览器也支持

还有区别:
当你要上线时要对项目进行打包

使用build文件打包
运行npm run build
完成后会出现dist文件夹

发现里面css html js都有

而这边直接打开是没什么东西得需要进行在服务器上进行部署才能生成对应网页

先把它变成一个合法得包

取名字

然后一路回车
然后安装框架 npm i express

创建serve.js写入代码并进行node serve


创建静态资源文件 通过写入第四行进行静态资源得部署


所以同理
我们想让我们脚手架生成得文件在服务器中进行部署就直接把这些文件放入static文件中就行


然后如果路径变成这样了在点刷新就会对当前显示路径进行网络请求就会,因为这些路途是路由得跳转,而刷新就会进行网络请求,所以如果用history模式就会出现这样得问题

而用hash模式得

而且刷新得时候一点事也没有因为#后为hash值不会带给服务器

而history好看我们上线也会去使用它,但需要一些步骤去解决现在的问题
下面我们就想用history然后解决它上线404的问题
所以要想解决history 404问题必须找后端工程师

使用一个node的中间件去解决history404问题


node.js里面:
1.进行中间件的引用



2.去使用node中间件必须要写在静态资源的前面

3.然后重启服务器
然后发现问题就解决了
总结:

本文介绍了Vue中的两种路由模式:Hash模式和History模式。Hash模式下,URL包含#,且对旧浏览器有更好的兼容性,刷新页面不会发送请求。而History模式下,URL更美观,但刷新会导致404错误。在上线部署时,History模式需要配合服务器配置以解决404问题,通常涉及Node.js中间件的使用。总结了两种模式的优缺点及上线策略。
1114

被折叠的 条评论
为什么被折叠?



