Home  >  Article  >  Web Front-end  >  How to remove # in vue project

How to remove # in vue project

小云云
小云云Original
2018-05-23 17:05:013514browse

This article mainly introduces how to remove # in the vue project and its ie9 compatibility. The editor thinks it is quite good. Now I will share it with you and give it a reference. Let’s follow the editor to take a look, I hope it can help everyone.

1. How to remove the access address in the vue project

#Add mode in the routing configuration in vue2 (the project created by vue-cli is in 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
    }
   ]
  }
 ]
})

2. Vue routing principle

2.1 Hash mode: the default routing mode of vue-router.

A single-page application developed by vue has only one html. The change of the url when switching simulates the complete url through the hash mode of the url.

2.2 History mode: configure mode: 'history' in vue2.

Use the history.pushState API to complete the url jump

HTML5 History mode official website introduction: https://router.vuejs.org/zh-cn/essentials/history-mode.html

3. Notes

However, to play this mode well, you also need background configuration support. Because our application is a single-page client application, if the background is not configured correctly, when the user directly accesses http://oursite.com/user/id in the browser, 404 will be returned, which is not good-looking.

So, you need to add a candidate resource on the server side that covers all situations: if the URL does not match any static resources, it should return the same index.html page, which is the page your app depends on. .

vue-router official website has an introduction and background configuration examples: https://router.vuejs.org/zh-cn/essentials/history-mode.html

4. Compatibility

After testing, mode: 'history' does not take effect under IE9. If the Vue project needs to be compatible with IE9, and the background has strict verification of access addresses, it is not recommended to use this mode. . If there are errors or omissions in the content, you are welcome to criticize and correct me~

Related recommendations:

Explanation on building the skeleton of the Vue project with webpack and vue2

About sharing of common components and framework structures of vue projects

Defining global variables and global function methods in vue projects

The above is the detailed content of How to remove # in vue project. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn