37 lines
978 B
TypeScript
37 lines
978 B
TypeScript
import { loadEnv, type ServerOptions } from 'vite';
|
|
import { root, wrapperEnv } from './utils';
|
|
|
|
export const serverOptions = (mode: string) => {
|
|
const { VITE_PORT, VITE_APP_URL } = wrapperEnv(loadEnv(mode, root));
|
|
|
|
const options: ServerOptions = {
|
|
port: VITE_PORT, // ? 端口号
|
|
host: '0.0.0.0',
|
|
open: true,
|
|
cors: true,
|
|
proxy: {
|
|
'/api': {
|
|
target: VITE_APP_URL,
|
|
changeOrigin: true,
|
|
rewrite: (path: string) => path.replace(/^\/api/, '/admin'),
|
|
},
|
|
'/admin': {
|
|
target: VITE_APP_URL,
|
|
changeOrigin: true,
|
|
rewrite: (path: string) => path.replace(/^\/admin/, '/admin'),
|
|
},
|
|
'/mock': {
|
|
target: VITE_APP_URL,
|
|
changeOrigin: true,
|
|
rewrite: (path: string) => path.replace(/^\/mock/, '/mock'),
|
|
},
|
|
},
|
|
// 预热文件以提前转换和缓存结果,降低启动期间的初始页面加载时长并防止转换瀑布
|
|
warmup: {
|
|
clientFiles: ['./index.html', './src/{views,components}/*'],
|
|
},
|
|
};
|
|
|
|
return options;
|
|
};
|