研发协作
使用 Rspack 构建前端项目时:统一配置、优化包体积…
在编写或评审 Rspack 项目配置、优化构建产物或排查编译性能瓶颈时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
使用 Rspack 构建前端项目时:统一特定
解决思路
- 使用 `rspack.config.ts` 并通过 `defineConfig` 定义配置。
- 为多页应用显式定义 `entry` 值。
- 保留一份主配置,仅在需要时按 `process.env.NODE_ENV` 分支。
- 让 rule 条件保持狭窄且明确:使用 `test`、`include`、`exclude`、`resourceQuery`。
- 当 Rspack 内置 plugins/loaders 能提供等价功能时,优先使用它们而不是社区 JS 替代方案。
- 若使用 `@rspack/cli`,本地开发使用 `rspack dev`。
- 若使用 `@rspack/cli`,生产构建使用 `rspack build`。
- 若使用 `@rspack/cli`,仅在本地预览生产构建时使用 `rspack preview`。
- 使用 `ts-checker-rspack-plugin` 在开发/构建中集成类型检查。
- 或者把 `tsc --noEmit`/`vue-tsc --noEmit` 作为显式脚本步骤运行。
- CSS 策略之一:现代项目使用内置 CSS(`type: 'css' | 'css/auto' | 'css/module'`)。
- CSS 策略之一:为兼容 webpack 迁移使用 `css-loader` + `CssExtractRspackPlugin`。
- CSS 策略之一:纯 style-in-JS 运行时注入场景使用 `style-loader`。
- 可选:当目标是语法降级 + 自动添加厂商前缀时,使用 `builtin:lightningcss-loader`。
- 可选:预处理 Sass/Less 文件时使用 `sass-loader`/`less-loader`。
- 可选:集成 Tailwind CSS 时使用 `@tailwindcss/webpack`。
- 对非关键代码路径优先使用动态 `import()`。
- 尽可能优先选择轻量级库。
- 让 `target` 与真实兼容性要求保持一致。
- 从项目源码目录导入由源码管理的资源,而不是从 `public` 导入。
- 通过绝对 URL 路径引用 `public` 文件。
- 优先使用 asset modules(`asset`、`asset/resource`、`asset/inline`、`asset/source`),而不是旧版 `file-loader`/`url-loader`/`raw-loader`。
- 怀疑 JavaScript 侧开销时,使用 Node CPU profiling(`--cpu-prof`)。
- 使用 `RSPACK_PROFILE=OVERVIEW` 并分析 trace 输出以定位编译器阶段瓶颈。
- 在可行时,优先把已知慢的栈(`babel-loader`、PostCSS、terser)替换为 Rspack 内置能力。
- 启用生产 source maps 时,不要把 `.map` 文件发布到公共服务器/CDN。
- 查阅最新(v2)文档时,读取 http://rspack.rs/llms.txt。
- 查阅 Rspack v1 文档时,读取 http://v1.rspack.rs/llms.txt。
适用边界 · 注意事项
- 项目未使用 Rspack,而使用 webpack、Vite、esbuild 等其他构建工具时不适用。
- 如果某些 webpack 生态独有 loader/plugin 在 Rspack 中没有等价内置能力,不应强行替换。
- 仅做与构建配置无关的业务逻辑开发时,无需套用这些规则。