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 NODE_ENV=development
VITE_APP_TITLE='SmartAdmin 开发环境(Dev)' 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 NODE_ENV=development
VITE_APP_TITLE='SmartAdmin 本地环境(Local)' 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 NODE_ENV=production
VITE_APP_TITLE='SmartAdmin 预发布环境(Pre)' 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 NODE_ENV=production
VITE_APP_TITLE='SmartAdmin V3.X' 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 NODE_ENV=production
VITE_APP_TITLE='SmartAdmin 测试环境(Test)' 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 { resolve } from 'path';
import vue from '@vitejs/plugin-vue'; import vue from '@vitejs/plugin-vue';
import { loadEnv } from 'vite';
import customVariables from '/@/theme/custom-variables.js'; import customVariables from '/@/theme/custom-variables.js';
const pathResolve = (dir) => { const pathResolve = (dir) => {
return resolve(__dirname, '.', dir); return resolve(__dirname, '.', dir);
}; };
export default { export default ({ mode }) => {
const env = loadEnv(mode, process.cwd());
return {
base: process.env.NODE_ENV === 'production' ? '/' : '/', base: process.env.NODE_ENV === 'production' ? '/' : '/',
root: process.cwd(), root: process.cwd(),
resolve: { resolve: {
@@ -38,16 +41,14 @@ export default {
server: { server: {
host: '0.0.0.0', host: '0.0.0.0',
port: 8081, port: 8081,
server: {
proxy: { proxy: {
// 代理路径 // 代理路径
'/': { '/api': {
target: 'http://127.0.0.1:1024/', // 目标服务器地址 target: env.VITE_PROXY_TARGET, // 目标服务器地址
changeOrigin: true, // 是否修改请求头中的 Origin 字段 changeOrigin: true, // 是否修改请求头中的 Origin 字段
rewrite: (path) => path, // 重写路径 rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径
}, },
}, },
}
}, },
plugins: [vue()], plugins: [vue()],
optimizeDeps: { optimizeDeps: {
@@ -96,4 +97,5 @@ export default {
__INTLIFY_PROD_DEVTOOLS__: false, __INTLIFY_PROD_DEVTOOLS__: false,
'process.env': process.env, 'process.env': process.env,
}, },
};
}; };