如何去除vue项目中的#及其ie9兼容性


Posted in Javascript onJanuary 11, 2018

一、如何去除vue项目中访问地址的#

vue2中在路由配置中添加mode(vue-cli创建的项目在src/router/index.js)

export default new Router({
 mode: 'history',
 routes: [
  {
   path: '/',
   name: 'menu',
   component: menu,
   children: [
    {
     path: 'organization',
     component: organization,
     children: [
      {
       path: '',
       redirect: 'organizationSub'
      },
      {
       path: 'organizationSub',
       component: organizationSub
      }
     ]
    },
    {
     path: 'user',
     component: user
    },
    {
     path: 'role',
     component: role
    }
   ]
  }
 ]
})

二、vue路由原理

2.1  hash模式:vue-router默认的路由模式。

vue开发的单页面应用,html只有一个,切换时url的变化通过url的hash模式模拟完整的url。

2.2  history模式:vue2中配置 mode: 'history'。

利用history.pushState API完成url的跳转

HTML5 History 模式官网介绍:https://router.vuejs.org/zh-cn/essentials/history-mode.html

三、注意事项

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

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

vue-router官网中有介绍,也有后台配置样例:https://router.vuejs.org/zh-cn/essentials/history-mode.html

四、兼容性

经过测试,mode: 'history'在ie9下不生效,若vue项目需要兼容ie9,且后台对访问地址有严格校验,不建议使用此种模式。若是内容有错误或遗漏,欢迎大家批评指正~

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

Javascript 相关文章推荐
JavaScript Array扩展实现代码
Oct 14 Javascript
鼠标滑上去后图片放大浮出效果的js代码
May 28 Javascript
jqueyr判断checkbox组的选中(示例代码)
Nov 08 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
Jun 24 Javascript
javascript中局部变量和全局变量的区别详解
Feb 27 Javascript
使用javaScript动态加载Js文件和Css文件
Oct 24 Javascript
第一篇初识bootstrap
Jun 21 Javascript
Bootstrap中表单控件状态(验证状态)
Aug 04 Javascript
vue 组件中slot插口的具体用法
Apr 03 Javascript
详解Vue前端生产环境发布配置实战篇
May 07 Javascript
浅谈JS中this在各个场景下的指向
Aug 14 Javascript
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
全新打包工具parcel零配置vue开发脚手架
Jan 11 #Javascript
详解VUE2.X过滤器的使用方法
Jan 11 #Javascript
Vuex提升学习篇
Jan 11 #Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 #Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 #Javascript
angular2中Http请求原理与用法详解
Jan 11 #Javascript
基于node下的http小爬虫的示例代码
Jan 11 #Javascript
You might like
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
PHP生成带有雪花背景的验证码
2006/10/09 PHP
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
mysql建立外键
2006/11/25 PHP
PHP循环获取GET和POST值的代码
2008/04/09 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
2014年感恩节活动策划方案
2014/10/06 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
如何在Python中创建二叉树
2021/03/30 Python