一、如何去除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 , 且后台对访问地址有严格校验 , 不建议使用此种模式 。若是内容有错误或遗漏 , 欢迎大家批评指正~
【如何去除vue项目中的#及其ie9兼容性】
您可能感兴趣的文章:详解如何去除vue项目中的#——History模式
推荐阅读
- WIN7下IE浏览器9.0英文界面字体如何更改成中文字体
- 苹果手机照片如何镜面翻转
- 防晒霜如何防晒的
- 如何将IE9浏览器网站固定到Win7开始菜单
- vivo手机如何自定义应用图标
- 炉石传说怎么获得英雄牌
- 如何同步IE9浏览器的收藏夹具体步骤
- PS套索工具怎么用如何做出选区
- 怎样去除蟑螂又快又有效
- 长脂肪粒如何选择眼霜
