如何去除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的数据类型检测
Jul 10 Javascript
五个jQuery图片画廊插件 推荐
May 12 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
Apr 17 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
Oct 19 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
最常见和最有用的字符串相关的方法详解
Feb 06 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 Javascript
Vue路由模块化配置的完整步骤
Aug 14 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
全新打包工具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
PHP中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
2011/08/23 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
python计算圆周率pi的方法
2015/07/11 Python
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
Sanic框架应用部署方法详解
2018/07/18 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
如何写自我鉴定
2014/03/19 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
违章停车检讨书
2014/10/21 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
无工作证明怎么写
2015/06/15 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技