全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-23 5 分钟 ✍️ juanwangdev

CORS 跨域处理

开发环境可配置 CORS 允许跨域请求访问开发服务器。

启用 CORS

JavaScript
export default defineConfig({
  server: {
    cors: true  // 允许所有跨域请求
  }
})

CORS 配置选项

JavaScript
export default defineConfig({
  server: {
    cors: {
      origin: ['http://localhost:8080', 'https://example.com'],
      methods: ['GET', 'POST', 'PUT', 'DELETE'],
      allowedHeaders: ['Content-Type', 'Authorization'],
      credentials: true,
      maxAge: 600
    }
  }
})

配置选项说明

选项说明
origin允许的来源
methods允许的方法
allowedHeaders允许的请求头
credentials允许携带凭证
maxAge预检缓存时间

注意:cors: true 等同于允许所有来源。

禁用 CORS

JavaScript
export default defineConfig({
  server: {
    cors: false  // 禁用跨域
  }
})

CORS 使用场景

场景配置
本地开发调试cors: true
多域名访问指定 origin 数组
需携带 Cookiecredentials: true

CORS 与 Proxy 区别

方式场景特点
CORS外部访问 Vite Server服务器端允许
ProxyVite Server 访问外部 API代理转发请求

预检请求处理

浏览器跨域请求会先发送 OPTIONS 预检:

JavaScript
export default defineConfig({
  server: {
    cors: {
      origin: '*',
      methods: ['GET', 'POST'],
      maxAge: 86400  // 预检缓存一天
    }
  }
})

要点总结

  • cors: true 允许所有跨域
  • cors 配置对象精细控制
  • origin 指定允许来源
  • credentials 允许携带凭证
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 反向代理配置
下一篇 → HMR 高级配置
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码