30 lines
810 B
TypeScript
30 lines
810 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',
|
||
|
proxy: {
|
||
|
'/api': {
|
||
|
target: VITE_APP_URL,
|
||
|
changeOrigin: true,
|
||
|
rewrite: (path: string) => path.replace(/^\/api/, '/api'),
|
||
|
},
|
||
|
'/mock': {
|
||
|
target: VITE_APP_URL,
|
||
|
changeOrigin: true,
|
||
|
rewrite: (path: string) => path.replace(/^\/mock/, '/mock'),
|
||
|
},
|
||
|
},
|
||
|
// 预热文件以提前转换和缓存结果,降低启动期间的初始页面加载时长并防止转换瀑布
|
||
|
warmup: {
|
||
|
clientFiles: ['./index.html', './src/{views,components}/*'],
|
||
|
},
|
||
|
};
|
||
|
|
||
|
return options;
|
||
|
};
|