defineConfig 中的 server proxy属性
时间: 2024-05-07 17:22:30 浏览: 69
`server.proxy` 是一个配置项,用于指定开发环境中的反向代理服务器。在开发环境中,我们可能需要模拟生产环境的服务端 API,但是直接调用 API 可能会存在跨域等问题,因此我们可以使用反向代理服务器来解决这个问题。
`server.proxy` 的取值可以是字符串或者对象。如果是字符串,那么它表示代理服务器的地址。如果是对象,那么它可以包含以下属性:
- `target`:代理服务器的地址。
- `changeOrigin`:是否改变请求头的 `Host` 值,默认为 `false`。
- `pathRewrite`:用于修改请求路径的重写规则,例如将请求路径 `/api/users` 重写为 `/users`。
以下是一个示例:
```javascript
module.exports = {
defineConfig: {
'process.env': {
NODE_ENV: JSON.stringify('development')
}
},
server: {
proxy: {
'/api': {
target: 'http://localhost:3000', // 代理服务器地址
changeOrigin: true, // 改变请求头的 Host 值
pathRewrite: {
'^/api': '' // 将 /api 前缀替换为空字符串
}
}
}
}
};
```
上述示例中,我们将以 `/api` 开头的请求都代理到了 `http://localhost:3000` 这个地址。同时,我们设置了 `changeOrigin` 为 `true`,表示要改变请求头的 `Host` 值,避免出现跨域问题。最后,我们使用了 `pathRewrite` 来将请求路径中的 `/api` 前缀替换为空字符串。
阅读全文