如何去除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系列(11) 执行上下文(Execution Contexts)
Jan 15 Javascript
基于jquery的simpleValidate简易验证插件
Jan 31 Javascript
js图片实时加载提供网页打开速度
Sep 11 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
jquery基础知识第一讲之认识jquery
Mar 17 Javascript
Bootstrap轮播插件使用代码
Oct 11 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
Vue数据绑定简析小结
May 07 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
jQuery HTML css()方法与css类实例详解
May 20 jQuery
vue实例的选项总结
Jun 09 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 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 信息采集程序代码
2009/03/17 PHP
php实现异步数据调用的方法
2015/12/24 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
JS获取时间的方法
2015/01/21 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
javascript常用的设计模式
2017/02/09 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
对Python中内置异常层次结构详解
2018/10/18 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
机修工岗位职责
2013/11/24 职场文书
信息系统专业个人求职信范文
2013/12/07 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
学生安全责任书模板
2014/07/25 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
解析MySQL索引的作用
2022/03/03 MySQL
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS