import { defineConfig, loadEnv } from "vite"; import vue from "@vitejs/plugin-vue"; import { createSvgIconsPlugin } from "vite-plugin-svg-icons"; import vueJsx from "@vitejs/plugin-vue-jsx"; import { resolve } from "path"; function pathResolve(dir) { return resolve(process.cwd(), ".", dir); } export default defineConfig(({ command, mode }) => { return { resolve: { alias: [{ find: "@", replacement: pathResolve("src"), },], dedupe: ["vue"], }, plugins: [ vue(), vueJsx(), createSvgIconsPlugin({ // 指定需要缓存的图标文件夹 iconDirs: [resolve(process.cwd(), "src/assets/svg")], // 指定symbolId格式 symbolId: "icon-[dir]-[name]", }) ], css: { // css预处理器 preprocessorOptions: { less: { charset: false, // 解决中文乱码 modifyVars: { "arcoblue-6": "#d1402f", }, javascriptEnabled: true, additionalData: '@import "@/assets/css/theme.less";@import "@/assets/css/global.less";', }, }, }, build: { minify: true, // 生产环境不生成sourcemap target: "es2015", // 警报门槛,限制大文件大小 chunkSizeWarningLimit: 5000, rollupOptions: { external: [], // 外部化处理那些你不想打包进库的依赖 // 静态资源分类打包 output: { chunkFileNames: "static/js/[name]-[hash].js", entryFileNames: "static/js/[name]-[hash].js", assetFileNames: "static/[ext]/[name]-[hash].[ext]", }, }, }, server: { port: 8088, host: "0.0.0.0", open: true, cors: true, hmr: true, proxy: { "/api": { target: "http://110.41.171.203:3001", changeOrigin: true, ws: true, secure: true, }, }, }, } });