Vite 是新一代前端构建工具:开发时借助原生 ES 模块实现即时启动,生产构建基于 Rollup 优化,零配置即支持 TypeScript、JSX、CSS 预处理器和静态资源。适用于单页、多页、库发布、SSR、monorepo 等需要快速反馈与优化产物的现代前端项目;不适合需 ES5 输出的旧浏览器、依赖 Webpack 专有 loader 且无 Vite 等价方案的项目,以及非 JavaScript 构建流程。
主要能力与常用配置:defineConfig({}) 提供类型安全配置,defineConfig(({ command, mode }) => ({})) 按命令/模式区分配置;resolve.alias 映射路径别名;server.proxy 转发 API 请求;server.hmr 配置 WebSocket 主机/端口/协议;server.https 传入 TLS 证书;build.target 指定输出模块目标;build.rollupOptions.output.manualChunks 控制代码分割;build.lib 用于发布 ES/CJS/UMD 包;build.ssr 与 ssr 选项用于服务端渲染;import.meta.env.VITE_* 暴露客户端环境变量;loadEnv(mode, root, prefix) 在配置中加载变量;css.modules、css.preprocessorOptions、css.postcss 分别用于作用域类名、Sass/Less/Stylus 选项与 PostCSS;静态资源 import 返回解析后的公共 URL;插件以 { name, transform, load } 钩子编写,可通过 resolveId + load 生成虚拟模块;build.rollupOptions.input 支持多页入口。
常见错误与纠正:只有客户端安全变量才加 VITE_ 前缀,服务端密钥用 loadEnv 读取;客户端用 import.meta.env.VITE_* 而非 process.env;修改 rollupOptions.input 时用 path.resolve() 或 import.meta.dirname 取绝对路径;库模式将 React/Vue 等 peer 依赖加入 rollupOptions.external 避免打包;SSR 中避免创建 QueryClient 式单例以防跨请求泄漏;PostCSS 内联配置与 postcss.config.js 二选一;base 需带尾部斜杠或完整 URL;ESM 配置用 import.meta.dirname(Node 21+)或 fileURLToPath 代替 __dirname。
可使用 Explore 代理发现插件、Task 代理分析构建、code-reviewer 代理审查配置;若存在 vitest-testing、tailwind、react-patterns、typescript-patterns、pnpm-workspace 等技能,可分别委派对应配置。参考主题包括配置基础、插件编写、开发服务器、构建优化、库模式、SSR 与 Express 集成、环境变量与 .env 处理、CSS 处理与资源管理。