import { defineConfig } from 'vite'; // 从 Vite 导入 defineConfig 函数,用于定义 Vite 配置 import uni from '@dcloudio/vite-plugin-uni'; // 导入 Uni-App 的 Vite 插件,用于支持 Uni-App 项目 import path from 'path'; // 导入 Node.js 的 path 模块,用于处理文件路径 import AutoImport from 'unplugin-auto-import/vite'; // 导入 unplugin-auto-import 插件,用于自动导入常用模块 import h5ProdEffectPlugin from 'uni-vite-plugin-h5-prod-effect'; // 导入 H5 生产环境打包时的特殊处理插件 // https://vitejs.dev/config/ export default defineConfig({ plugins: [ uni(), // 启用 Uni-App 的 Vite 插件,确保 Vite 能够正确处理 Uni-App 项目 AutoImport({ imports: [ 'vue', // 自动导入 Vue 的全局 API 'uni-app' // 自动导入 Uni-App 的全局 API ], dirs: [ 'src/utils', // 指定自动导入的目录,这里是 `src/utils` 目录下的所有文件 'src/wxs/**' // 指定自动导入的目录,这里是 `src/wxs` 目录及其子目录下的所有文件 ], dts: 'src/auto-imports.d.ts', // 生成的类型声明文件路径,用于 TypeScript 支持 eslintrc: { enabled: true // 启用 ESLint 配置文件的自动生成,确保 ESLint 知道哪些模块是自动导入的 } }), // 对 H5 生产环境打包时的特殊处理,确保 `uni-crazy-router` 在生产环境中正常工作 h5ProdEffectPlugin() ], server: { host: true, // 允许外部访问开发服务器,设置为 `true` 可以在局域网内访问 port: 80, // 设置开发服务器的端口号为 80 open: true // 启动开发服务器时自动打开浏览器 }, resolve: { alias: { '@': path.resolve(__dirname, 'src') // 设置别名 `@` 指向项目的 `src` 目录,方便路径引用 } } });