因为 Vue3 的构建工具是 Vite ,所以配置 vue.config.js
是没用的(Vue2 因为使用 webpack 所以才用这个文件)
这里提供一份 vue.config.js
的示例:
js
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://example.com',
changeOrigin: true,
pathRewrite: {
'^/api': '/',
},
}
}
}
}
同时 manifest.json
里配置的反代配置似乎有 Bug,反代能生效,但 path
重写是失效的,即:
json
{
"h5": {
"devServer": {
"https": false,
"disableHostCheck": true,
"proxy": {
"/api": {
"target": "http://example.com",
"pathRewrite": {
"^/api": ""
}
}
}
}
}
}
因为使用了 Vite,所以我们应该创建 vite.config.js
文件进行设置:
js
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
export default defineConfig({
plugins: [
uni()
],
server: {
host: '127.0.0.1',
port: 5173,
proxy: {
'/api': {
target: 'http://example.com',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''), // 此处进行路径重写
}
}
}
});
至此重新运行服务即可看到生效并成功的反向代理,更多关于 Vite 反代配置看这里:https://cn.vitejs.dev/config/server-options#server-proxy