import { defineConfig, ConfigEnv, loadEnv } from 'vite' // import { // getRootPath, // getSrcPath, // setupVitePlugins, // } from "./build"; import vue from '@vitejs/plugin-vue' import path from 'path' import { fileURLToPath, URL } from 'url' // https://vitejs.dev/config/ export default defineConfig((configEnv: ConfigEnv) => { const viteEnv = loadEnv( configEnv.mode, process.cwd() ) as unknown as ImportMetaEnv; return { plugins: [vue()], // plugins: setupVitePlugins(viteEnv), // 1. 路径别名(对应你之前的 @ -> src) resolve: { alias: { '@/utils': path.resolve(__dirname, './utils'), "~": path.resolve(__dirname, './src'), '@': path.resolve(__dirname, './src'), '@/typings': path.resolve(__dirname, './src/typings'), components: path.resolve(__dirname, "components"), }, extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], }, // 2. SCSS 兼容 & 全局变量(和 Vue CLI 写法不同) css: { preprocessorOptions: { scss: { // 如果你有全局 scss 变量文件,在这里引入 // additionalData: `@use "@/assets/styles/variables.scss" as *;` } } }, // 3. 开发服务配置(端口、跨域、自动打开浏览器等) server: { host: "0.0.0.0", port: viteEnv.VITE_CLI_PORT, proxy: { [viteEnv.VITE_BASE_API]: { target: viteEnv.VITE_BASE_PATH, changeOrigin: true, rewrite: (path: string) => path.replace(new RegExp("^" + viteEnv.VITE_BASE_API), ""), }, }, } } })