51 lines
1.2 KiB
TypeScript
51 lines
1.2 KiB
TypeScript
import { defineConfig, loadEnv } from 'vite';
|
||
import { createViteConfig } from '@vtj/cli';
|
||
import { createDevTools } from '@vtj/local';
|
||
import http2Proxy from '@sy/vite-plugin-http2-proxy';
|
||
import mkcert from 'vite-plugin-mkcert';
|
||
import AutoImport from 'unplugin-auto-import/vite';
|
||
|
||
const config = createViteConfig({
|
||
// proxy,
|
||
plugins: [
|
||
createDevTools(),
|
||
http2Proxy(),
|
||
mkcert(),
|
||
AutoImport({
|
||
imports: [
|
||
'vue',
|
||
'pinia',
|
||
'vue-router',
|
||
{
|
||
from: 'pinia',
|
||
imports: ['storeToRefs', 'defineStore'],
|
||
type: true
|
||
}
|
||
],
|
||
dts: 'src/auto-imports.d.ts', // 生成类型声明文件
|
||
eslintrc: {
|
||
enabled: true // 生成 eslint 配置
|
||
}
|
||
})
|
||
]
|
||
});
|
||
|
||
// @ts-ignore
|
||
export default defineConfig(({ mode }) => {
|
||
console.log('mode', mode);
|
||
// 加载环境变量(支持 .env.development/.env.production)
|
||
const env = loadEnv(mode, process.cwd(), ['VITE_', 'VTJ_', 'SY_']);
|
||
return {
|
||
...config,
|
||
server: {
|
||
https: true,
|
||
port: env.VITE_PORT,
|
||
host: true
|
||
},
|
||
define: {
|
||
// 注入环境变量到客户端
|
||
__APP_ENV__: JSON.stringify(env)
|
||
}
|
||
};
|
||
});
|