import { defineConfig, loadEnv } from 'vite' import path from 'path' import createVitePlugins from './vite/plugins' const inject = require('@rollup/plugin-inject') import { visualizer } from "rollup-plugin-visualizer"; export default defineConfig(({ mode, command }) => { const env = loadEnv(mode, process.cwd()) const { VITE_APP_ENV } = env return { build: { outDir: path.resolve(__dirname, 'dist'), emptyOutDir: true, }, base: VITE_APP_ENV === 'production' ? '/smartFactory' : './', plugins: [ createVitePlugins(env, command === "build"), inject({ 'window.Quill': 'quill/dist/quill.js', 'Quill': 'quill/dist/quill.js', }), visualizer({ open:true, //注意这里要设置为true,否则无效 filename: "stats.html", //分析图生成的文件名 gzipSize: true, // 收集 gzip 大小并将其显示 brotliSize: true, // 收集 brotli 大小并将其显示 }) ], resolve: { alias: { '~': path.resolve(__dirname, './'), '@': path.resolve(__dirname, './src') }, extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] }, // vite 相关配置 server: { port: 3000, host: true, open: true, watch: { usePolling: true, // 启用轮询以解决文件系统监听问题 }, proxy: { '/dev-api': { target: 'http://192.168.2.39:8581', // target: 'http://192.168.2.223:8080', // target: 'http://39.100.74.100:8581', changeOrigin: true, rewrite: (p) => p.replace(/^\/dev-api/, '') } } }, css: { postcss: { plugins: [ { postcssPlugin: 'internal:charset-removal', AtRule: { charset: (atRule) => { if (atRule.name === 'charset') { atRule.remove(); } } } } ] } } } })