56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { defineConfig, loadEnv } from 'vite';
|
|
import Components from "unplugin-vue-components/vite"; // 按需组件自动导入
|
|
import { AntDesignVueResolver } from "unplugin-vue-components/resolvers";
|
|
import vue from '@vitejs/plugin-vue';
|
|
import Icons from 'unplugin-icons/vite';
|
|
import IconsResolver from 'unplugin-icons/resolver';
|
|
import path from 'path';
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig(({ mode }) => {
|
|
|
|
const env = loadEnv(mode, process.cwd());
|
|
|
|
return {
|
|
resolve: {
|
|
alias: {
|
|
"@": path.resolve(__dirname, "src"),
|
|
},
|
|
},
|
|
server: {
|
|
proxy: {
|
|
"/api": {
|
|
target: env.VITE_APP_BASE_URL,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, ""),
|
|
},
|
|
"/prod-api": {
|
|
target: env.VITE_APP_BASE_URL,
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
plugins: [
|
|
vue(),
|
|
Components({
|
|
dts: true, //生成components.d.ts 全局定义文件
|
|
resolvers: [
|
|
AntDesignVueResolver({
|
|
//对使用到的全局ant design vue组件进行类型导入
|
|
importStyle: false, // 不动态引入css,这个不强求
|
|
}),
|
|
// 自动导入 lucide 图标
|
|
IconsResolver({
|
|
prefix: "i", // 比如用 <i-a-arrow-down />
|
|
enabledCollections: ["lucide"],
|
|
}),
|
|
],
|
|
include: [/\.vue$/, /\.vue\?vue/, /\.md$/, /\.tsx$/], //包含的文件类型
|
|
}),
|
|
Icons({
|
|
autoInstall: true, // 没安装的图标库会自动下载
|
|
}),
|
|
],
|
|
}
|
|
});
|