Files
pqs-9100_client/frontend/vite.config.ts
2024-08-27 14:37:26 +08:00

83 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defineConfig, loadEnv, ConfigEnv, UserConfig } from "vite";
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import vue from "@vitejs/plugin-vue";
import path from "path";
import { wrapperEnv } from "./build/getEnv";
import { createProxy } from "./build/proxy";
// 导入
import vueJsx from "@vitejs/plugin-vue-jsx";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
const root = process.cwd();
const env = loadEnv(mode, root);
const viteEnv = wrapperEnv(env);
return {
plugins: [
vue(),
// svg图标配置可以使用svg图标
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
symbolId: "icon-[dir]-[name]",
}),
AutoImport({
resolvers: [
ElementPlusResolver({
importStyle: "sass",
}),
],
}),
Components({
resolvers: [
ElementPlusResolver({
importStyle: "sass",
}),
],
}),
// 增加此行代码
vueJsx(),
],
// 基础配置
base: viteEnv.VITE_PUBLIC_PATH,
root,
publicDir: "public",
resolve: {
alias: {
"@": path.resolve(__dirname, "src"),
"vue-i18n": "vue-i18n/dist/vue-i18n.cjs.js",
},
},
css: {
preprocessorOptions: {
scss: {
prependData: `@import "@/styles/var.scss";`,
},
},
},
build: {
outDir: "dist",
assetsDir: "assets",
assetsInlineLimit: 4096,
cssCodeSplit: true,
sourcemap: false,
minify: "terser",
terserOptions: {
compress: {
// 生产环境去除console及debug
drop_console: false,
drop_debugger: true,
},
},
},
server: {
host: "0.0.0.0",
port: viteEnv.VITE_PORT,
open: viteEnv.VITE_OPEN,
cors: true,
proxy: createProxy(viteEnv.VITE_PROXY),
},
};
});