vue-cli webpack 开发环境跨域

Posted 弗朗西斯科

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-cli webpack 开发环境跨域相关的知识,希望对你有一定的参考价值。

edit dev.proxyTable option in config/index.js. The dev server is using http-proxy-middleware for proxying

为了解决跨域问题,

  • 通常会使用Jsonp,但是jsonp只能是get请求。
  • 或者使用CORS支持,设置Access-Control-Allow-Origin: *

 

0 前置技能

熟悉vue-loader 和 webpack

 

1 基本配置

编辑confix/index.js文件 dev server使用的是http-proxy-middleware来代理 

// config/index.js
module.exports = {
  // ...
  dev: {
    proxyTable: {
      // proxy all requests starting with /api to jsonplaceholder
      ‘/api‘: {
        target: ‘http://jsonplaceholder.typicode.com‘,
        changeOrigin: true,
        pathRewrite: {
          ‘^/api‘: ‘‘
        }
      }
    }
  }
}

 

The above example will proxy the request /api/posts/1 to http://jsonplaceholder.typicode.com/posts/1.

 

2 全局匹配

you can provide a filter option that can be a custom function to determine whether a request should be proxied:

提供一个过滤器,制定路由规则和路由方法。

proxyTable: {
  ‘*‘: {
    target: ‘http://jsonplaceholder.typicode.com‘,
    filter: function (pathname, req) {
      return pathname.match(‘^/api‘) && req.method === ‘GET‘
    }
  }
}

 

以上是关于vue-cli webpack 开发环境跨域的主要内容,如果未能解决你的问题,请参考以下文章

webpack打包优化

webpack之proxyTable设置跨域

webpack proxyTable 跨域

Vue-cli proxyTable 解决开发环境的跨域问题

Vue-cli proxyTable 解决开发环境的跨域问题(重写路径,删除基本路径)

webpack+vue-cli中代理配置(proxyTable)