aic-cli
Version:
54 lines (50 loc) • 1.38 kB
text/typescript
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
import { createHtmlPlugin } from 'vite-plugin-html';
import UnoCSS from 'unocss/vite';
import { resolve } from 'path';
import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueDevTools from 'vite-plugin-vue-devtools';
import pkg from './package.json';
interface Config {
mode: 'production' | 'test' | 'development';
}
// https://vite.dev/config/
export default ({ mode }: Config) => {
return defineConfig({
plugins: [
vue(),
vueDevTools(),
AutoImport({
imports: ['vue', 'vue-router', 'pinia'],
}),
Components({
dts: true,
resolvers: [ElementPlusResolver()],
include: [/\.vue$/, /\.md$/, /\.ts$/, /\.tsx$/],
}),
UnoCSS(),
createHtmlPlugin({
inject: {
data: {
title: '算力平台',
},
},
}),
],
resolve: {
alias: {
'@': resolve(__dirname, './src'),
},
},
define: {
__APP_VERSION__: JSON.stringify(pkg.version),
__APP_BUILD_TIME__: JSON.stringify(new Date().toISOString()),
},
build: {
outDir: loadEnv(mode, process.cwd()).VITE_PRODUCT_NAME,
},
});
};