Skip to content
Go back

前端工具链对比

Edit

前端工具链几乎都被 rust 重写了一遍,开个帖子对比一下。

Node 工具链 / 运行时对比

这一层管的是「怎么跑 TS、装依赖、跑 script」,不是生产打包。Nub 没有 bundler,生产产物仍交给后面的 Vite / Rolldown 等。

工具定位执行引擎包管理核心亮点主要短板适合
NubNode 增强一体工具stock Node + oxc 转译内置(兼容 pnpm/npm/bun lockfile)不换运行时;nub run / install / nubx / 管 Node 版本都快较新,生态与心智模型还在普及想留在 Node,又要 Bun 级 DX
Bun一体运行时 + 工具链JavaScriptCore内置跑、装、测、打包一条龙,速度猛自有 API / 兼容面与 Node 有差新项目、能接受 Bun 生态
Deno一体运行时 + 工具链V8内置 / JSR 等权限模型、开箱 TS、标准库与 npm 生态摩擦小于从前但仍在安全边界清晰、偏 Deno 栈
Node + tsx / ts-node官方运行时 + 转译器Node靠 npm/pnpm/yarn兼容性最稳、生态最大工具要自己拼(装依赖、版本、跑脚本)存量 Node 项目默认路径
pnpm包管理器内容寻址 + 硬链monorepo、省磁盘、锁文件成熟只解决「装」;跑 TS / 管 Node 还要别的monorepo、团队统一装依赖
npm / yarn包管理器各家策略默认 / 历史包袱小速度与磁盘占用通常不如 pnpm简单项目、兼容优先
fnm / nvm / voltaNode 版本管理多版本切换不管包管理和跑 TS本机多项目多 Node 版本

推荐

JS/TS 打包 / 构建工具对比

工具名称类型核心技术打包速度易用性典型适用场景主要短板
Vite构建工具ESBuild(开发)+ Rolldown(生产)极快极高现代前端项目、快速开发大型 monorepo 需额外优化
Rspack打包工具Rust + Webpack 兼容极快大型项目、Webpack 迁移配置较复杂
Rsbuild构建工具基于 Rspack 的零配置极快极高中大型项目、追求零配置生态相对较新
Rolldown打包工具Rust 重写 Rollup极快库打包、组件库发布仍在快速发展
Turbopack构建工具Rust 底层 + 增量编译极快Next.js 全栈、大规模应用主要绑定 Vercel 生态
Farm打包工具Rust 多线程极快中高大型 monorepo、高性能构建社区较小
Bun Bundler打包工具Bun 运行时内置极快Bun 生态项目生态仍在成长
esbuild打包 / 转译Go极快库打包、自定义流水线功能比完整框架少
webpack打包工具JS存量大项目、高度定制配置与冷启动偏重

推荐

CSS 方案对比

分两块:原子化 / 工具类,以及 CSS-in-JS。

原子化 / 工具类 / 预处理

方案类型核心亮点主要短板适合
Tailwind CSSUtility-first生态最大、设计系统好搭、JIT类名噪声、深定制要熟练绝大多数新项目默认
UnoCSS按需原子引擎极快、可兼容 Tailwind 预设、灵活生态与现成组件不如 Tailwind要速度 / 自定义规则
Lightning CSSCSS 转换器(Rust)压缩、兼容、嵌套处理快不是完整「写样式」方案构建流水线里替换 PostCSS 部分能力
PostCSS + Sass/Less预处理 / 插件链存量项目多、插件丰富链路偏老、和原子化叠加易乱维护老项目、设计稿转 CSS

CSS-in-JS

方案名称核心技术运行时/编译时性能易用性典型适用场景主要短板
StyleX编译时原子化 + 静态提取编译时为主极高中高大型应用、设计系统学习曲线
Panda CSS编译时 Atomic编译时极高中大型项目配置稍复杂
Vanilla Extract类型安全 CSS-in-JS + 编译时编译时TypeScript 重度项目需构建步骤
EmotionCSS-in-JS + 编译优化混合中高极高需要动态样式的组件运行时开销稍高
Styled Components标签模板 + 编译优化混合组件化样式、React 组件库运行时性能不如纯编译时

推荐

Lint / Format 对比

工具定位核心技术核心亮点主要短板适合
ESLintLintJS规则与插件生态最大配置重、大仓可偏慢存量项目、要细规则
OxlintLintRust(Oxc)极快、和 ESLint 规则部分兼容规则覆盖仍少于 ESLint大仓加速、CI 卡点
BiomeLint + FormatRust一把梭、配置简单、速度快插件生态不如 ESLint新项目想少装几个工具
PrettierFormatJS事实标准、争论少只格式化、不 Lint团队统一格式
dprintFormatRust多语言、快前端生态心智不如 Prettiermonorepo 多语言格式化

推荐

测试对比

工具定位核心亮点主要短板适合
Vitest单测 / 组件测与 Vite 同构、快、TS 友好重度 Jest 插件偶有摩擦Vite 项目默认
Jest单测生态老、文档多配置与 ESM/TS 体验偏旧存量 Jest 仓
PlaywrightE2E / 组件多浏览器、Trace、稳定比单元测重E2E、跨浏览器
Bun test单测内置、启动快绑 Bun 生态Bun 项目
node:test单测零依赖、官方API / 生态较素轻量库、少依赖

推荐


Edit
Share this post on:

Previous Post
iframe 跨域锁定帧率
Next Post
Coding Agent 对比