Vue CLI Webpack 开发环境跨域解决方案详解

作者:初晴

时间:2026-10-22

浏览:172

本文详解 Vue CLI Webpack 开发环境中的跨域问题解决方案。通过配置 config/index.js 中的 dev.proxyTable 选项,利用 http-proxy-middleware 实现 API 请求代理。文章介绍了基本配置方法、全局匹配策略以及自定义过滤器的使用,帮助开发者在本地开发阶段有效解决前后端分离带来的跨域限制。

文章目录

Vue CLI Webpack 开发环境跨域配置

在 config/index.js 文件中编辑 dev.proxyTable 选项。开发服务器使用 http-proxy-middleware 进行代理转发。

为了解决跨域问题,

  1. 通常会使用 Jsonp,但是jsonp只能是get请求。
  2. 或者使用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'
  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章