Home >Web Front-end >JS Tutorial >How Vue-cli proxyTable solves cross-domain problems in the development environment

How Vue-cli proxyTable solves cross-domain problems in the development environment

不言
不言Original
2018-06-29 17:20:532193browse

This article mainly introduces the detailed explanation of Vue-cli proxyTable to solve cross-domain problems in the development environment. It is of great practical value. Friends who need it can refer to

They always face when jointly debugging with the backend. Annoying cross-domain problem, I also encountered this problem when developing a project based on Vue recently. Both sides thought of a lot of methods, checked a lot of information, and added a lot of parameters. In the end, I had to map my localhost to the one when it goes online. The domain name to be used.

When I was looking through the code today, I suddenly discovered that there is a parameter called proxyTable in the config file of vue-cli. Looking at this name, I felt that it could solve the problem, so I searched for it, and sure enough. In vuejs-templates, which is the template plug-in used by vue-cli, there are instructions about API proxy, and this parameter is used.

https://vuejs-templates.github.io/webpack/proxy.html

This parameter is mainly an address mapping table, you can set the complex The url is simplified. For example, the address we want to request is api.xxxxxxxx.com/list/1, which can be set as follows:

proxyTable: {
 '/list': {
  target: 'http://api.xxxxxxxx.com',
  pathRewrite: {
   '^/list': '/list'
  }
 }
}

In this way we are writing the url When , just write /list/1 to represent api.xxxxxxxx.com/list/1.

So how to solve the cross-domain problem? In fact, there is a changeOrigin parameter in the 'list' parameter above, which receives a Boolean value. If it is set to true, then a local virtual server will receive your request and send the request on your behalf, so that there will be no cross-domain The problem is, of course this only applies to development environments. The added code is as follows:

proxyTable: {
 '/list': {
  target: 'http://api.xxxxxxxx.com',
  changeOrigin: true,
  pathRewrite: {
   '^/list': '/list'
  }
 }
}

This setting of vue-cli comes from the plug-in http-proxy-middleware

github: https://github.com/chimurai/http-proxy-middleware

If you want to learn more, you can read the plug-in configuration instructions. It seems to also support websocket, which is a very powerful plug-in.

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

About the operation of submitting data for vue.js front-end and back-end data interaction

How to solve vue- Problem that stylus cannot be used in cli

The above is the detailed content of How Vue-cli proxyTable solves cross-domain problems in the development environment. 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