fix: optimize env config and support dynamic proxy target

This commit is contained in:
yusg
2026-01-28 11:26:01 +08:00
parent 36de38fda3
commit 885ad21184
6 changed files with 82 additions and 78 deletions

View File

@@ -1,3 +1,4 @@
NODE_ENV=development
VITE_APP_TITLE='SmartAdmin 开发环境(Dev)'
VITE_APP_API_URL='http://127.0.0.1:1024'
VITE_APP_API_URL='/api'
VITE_PROXY_TARGET='http://127.0.0.1:1024'

View File

@@ -1,3 +1,4 @@
NODE_ENV=development
VITE_APP_TITLE='SmartAdmin 本地环境(Local)'
VITE_APP_API_URL='http://127.0.0.1:1024'
VITE_APP_API_URL='/api'
VITE_PROXY_TARGET='http://127.0.0.1:1024'

View File

@@ -1,3 +1,3 @@
NODE_ENV=production
VITE_APP_TITLE='SmartAdmin 预发布环境(Pre)'
VITE_APP_API_URL='https://preview.smartadmin.vip/smart-admin-api'
VITE_APP_API_URL='/smart-admin-api'

View File

@@ -1,3 +1,3 @@
NODE_ENV=production
VITE_APP_TITLE='SmartAdmin V3.X'
VITE_APP_API_URL='https://preview.smartadmin.vip/smart-admin-api'
VITE_APP_API_URL='/smart-admin-api'

View File

@@ -1,3 +1,3 @@
NODE_ENV=production
VITE_APP_TITLE='SmartAdmin 测试环境(Test)'
VITE_APP_API_URL='http://127.0.0.1:1024'
VITE_APP_API_URL='/smart-admin-api'

View File

@@ -9,12 +9,15 @@
*/
import { resolve } from 'path';
import vue from '@vitejs/plugin-vue';
import { loadEnv } from 'vite';
import customVariables from '/@/theme/custom-variables.js';
const pathResolve = (dir) => {
return resolve(__dirname, '.', dir);
};
export default {
export default ({ mode }) => {
const env = loadEnv(mode, process.cwd());
return {
base: process.env.NODE_ENV === 'production' ? '/' : '/',
root: process.cwd(),
resolve: {
@@ -38,16 +41,14 @@ export default {
server: {
host: '0.0.0.0',
port: 8081,
server: {
proxy: {
// 代理路径
'/': {
target: 'http://127.0.0.1:1024/', // 目标服务器地址
'/api': {
target: env.VITE_PROXY_TARGET, // 目标服务器地址
changeOrigin: true, // 是否修改请求头中的 Origin 字段
rewrite: (path) => path, // 重写路径
rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径
},
},
}
},
plugins: [vue()],
optimizeDeps: {
@@ -96,4 +97,5 @@ export default {
__INTLIFY_PROD_DEVTOOLS__: false,
'process.env': process.env,
},
};
};