vue router 原生html,vue-router的HTML5 History 模式设置
发布日期:2021-06-24 15:07:12 浏览次数:3 分类:技术文章

本文共 1665 字,大约阅读时间需要 5 分钟。

VUE是当下最火爆的前端框架之一,vue-router是vue项目中几乎都会用到的组件,然而体验一时爽,其实坑不少。本篇经验将详细介绍vue-router的两种mode效果和开发测试环境下的问题,并给出解决方案。

vue-router的HTML5 History 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

const router = new VueRouter({

mode: 'history',

routes: [...]

})

当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id, 就是长这样的!

不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就尴尬了。

所以,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

目前后端服务器有Apache、nginx、原生 Node.js、基于 Node.js 的 Express、Internet Information Services (IIS)、Caddy、Firebase 主机等。

既然是官方给出的配置,那肯定就会说的很官方咯~

按照官方给出的示例,将道理是成功的,但是官方给出的只局限于这个项目在服务器的根目录下!

如果你的项目没有放在根目录下,那么就是这么的不讲道理。

下面是在实际开发中碰到的问题。

我们的后端服务器是nginx,所以按照官方的给出的配置,找到nginx.conf,照抄代码,修改完后重启服务器,讲道理是成功的。

server

{

listen 80;

server_name oursite.com;

location /test/ {

alias /usr/local/test/;

index index.htm index.html;

#上面的就是一些常规配置,下面这个才是重点

try_files $uri $uri/ /index.html;

#这里没有采用官方给出处理404错误页面的方案

#方案一(把所有没有后缀名的请求如果404都跳转到index.html,我们没有采用)

#error_page 404 /test/index.html;

#方案二(404的方式,不是特别完美。会有浏览器留下404的状态(容易被第三方劫持),以下方式可以避免被第三方劫持!)

if (!-e $request_filename) {

rewrite ^/(.*) /test/index.html last;

break;

}

}

}

但是,事实就是这么的不讲道理,我们并没有成功!这就令人很是郁闷了,心中一万只神兽羊驼,奔腾而过~ 为什么没有成功呢,都是按部就班做的呀,完全不讲道理!

而真相只有一个,那就是~~~

路由文件中的路径有问题

const router = new VueRouter({

mode: 'history',

routes: [

{ path: '/test/', component: YourComponent },

{ path: '/test/a', component: YourComponent },

{ path: '/test/b:x', component: YourComponent }

]

})

在路由文件中所有的路径前面加上服务器下项目所在的文件名即可,当然也包括和this.$router.push()中的路径,不然又是不讲道理的。

这只是在nginx服务器下的一种解决方案,至于别的服务器应该也是同理的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

转载地址:https://blog.csdn.net/weixin_33554514/article/details/117729082 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:android cs框架,Android UI 框架 Lattekit
下一篇:android 智能手环应用,戴图智能手环app(健康手环应用) 1.7.8安卓版

发表评论

最新留言

很好
[***.229.124.182]2024年04月21日 18时26分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java中非静态、静态方法的调用、方法中调用方法 2019-04-28
Java中的访问权限修饰符、各种变量、static、final等关键字,一直混淆的整理(未完) 2019-04-28
宋红康的快捷键包描述(idea导入类似eclipse的)keymap-shkstart.jar 2019-04-28
IDEA默认的快捷键整理!! 2019-04-28
超宽带雷达P440?雷达的快时间慢时间是什么意思? 2019-04-28
教育授权certificate used to sign the license 2021-07-01
从内存解释:方法传参(基本数据类型、引用数据类型(对象、数组、String类型)),原值是否改变? 2021-07-01
java中数组为空和数组长度为0的区别 2021-07-01
SecureCRT连接不上虚拟机 2021-07-01
为什么在创建线程时,更推荐用实现Runnable接口的方法?而不是继承Thread类的方法? 2021-07-01
从100万个数中找出最大的前100个数-最小堆、分块 2019-04-28
并发下的ArrayList、HashMap 2019-04-28
仿牛客社区项目2.2登录模块——开发注册功能 2019-04-28
仿牛客社区项目2.3登录模块——会话管理Cookie、Session 2019-04-28
仿牛客社区项目2.4登录模块——生成验证码 2019-04-28
JDK-JRE-JVM关系、Java语言跨平台 2019-04-28
仿牛客社区项目2.5登录模块———登录退出功能 2019-04-28
仿牛客社区项目3.2——发布帖子(异步通信技术AJAX) 2019-04-28
仿牛客社区项目3.3——帖子详情(普通功能) 2019-04-28
仿牛客社区项目3.5——显示评论(普通功能,Controller层帖子-评论-回复) 2019-04-28