当前位置: 首页 > 编程笔记 >

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

任伟
2023-03-14
本文向大家介绍如何去除vue项目中的#及其ie9兼容性,包括了如何去除vue项目中的#及其ie9兼容性的使用技巧和注意事项,需要的朋友参考一下

一、如何去除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 后台管理类项目兼容IE9+的方法示例的使用技巧和注意事项,需要的朋友参考一下 最近项目进入到了第三方集成的环节,集成第三方监控非要用IE,咋办?老板让我将后台管理系统的框架兼容下IE,一直都是在chrome下开发的,也不知道IE下是什么鬼。 目前后台管理系统前端搭建方式 目前系统是用vue-cli@2.0生成的,UI框架使用

  • 本文向大家介绍详解如何去除vue项目中的#——History模式,包括了详解如何去除vue项目中的#——History模式的使用技巧和注意事项,需要的朋友参考一下 使用vue-cli搭建的环境,在配置好路由之后,可以看到下面的情况:    但是不难发现#的出现真的很丑陋,并且也不知道这是什么作用? 所以就去Stack Overflow上搜索了,果然还有~  看来Stack Overflow是真的强

  • 我在gradle文件中的当前配置是 这个规范使我的项目特定于Java1.7。 我的要求是我应该能够为不同的java版本构建我的项目,比如Java1.7和Java1.8 PS:就像gradle中的概要文件构建一样,我们可以指定不同的java版本。

  • 你可以直接在 Markdown 文件里写 Vue 代码,它将被执行。我们可以用它写一些 Vue 的 Demo 或者示例代码。 基础用法 在 index.html 里引入 Vue。 <script src="//cdn.jsdelivr.net/npm/vue"></script> <script src="//cdn.jsdelivr.net/npm/docsify"></script> <!-

  • 问题内容: 如何在PHP中删除目录及其全部内容(文件和子目录)? 问题答案: 手册页中的用户提供的部分包含一个不错的实现:

  • 本文向大家介绍vue组件如何被其他项目引用,包括了vue组件如何被其他项目引用的使用技巧和注意事项,需要的朋友参考一下 自己写的vue组件怎么才能让其他人引用呢,或者是共用组件如何让其他项目引用。本文就粗细的介绍下,如有疑问欢迎共同讨论。在这里你能了解下如下知识点: 1. 如何发布一个包到npmjs仓库上 2.如何引用一个npm包,尤其是本地引用 3.vue组件的两种引用方案 一、发布一个包到np