如何去除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 相关文章推荐
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
jquery实现简单合拢与展开网页面板的方法
Sep 01 Javascript
JavaScript绑定事件监听函数的通用方法
May 14 Javascript
详解jquery easyui之datagrid使用参考
Dec 05 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
基于jQuery封装的分页组件
Jun 26 jQuery
angularjs2中父子组件的数据传递的实例代码
Jul 05 Javascript
最通俗易懂的javascript变量提升详解
Aug 05 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
Jun 27 Javascript
详解Vue.js 可拖放文本框组件的使用
Mar 03 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
简体中文转换为繁体中文的PHP函数
2006/10/09 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
jquery使用经验小结
2015/05/20 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
树莓派实现移动拍照
2019/06/22 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
python如何统计代码运行的时长
2019/07/24 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
六道php面试题附答案
2014/06/05 面试题
linux面试题参考答案(5)
2016/11/05 面试题
车间操作工岗位职责
2013/12/19 职场文书
《社戏》教学反思
2014/04/15 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
亮剑精神观后感
2015/06/05 职场文书
学前班教学反思
2016/02/24 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android