极其快速的 JavaScript 和 TypeScript 打包/构建工具,用 Go 语言编写。设计目标是零配置、超高性能,构建速度比传统工具快 10-100 倍。
安装
npm install -g esbuild
# 或项目内
npm install --save-dev esbuild基本使用
# 打包 JS
esbuild src/index.js --outfile=dist/bundle.js
# 打包 TypeScript
esbuild src/index.ts --outfile=dist/index.js
# Bundle + Minify
esbuild src/index.ts --bundle --minify --outfile=dist/bundle.js
# Watch 模式
esbuild src/index.ts --bundle --watch --outfile=dist/bundle.js配置文件(JS 配置)
const esbuild = require('esbuild');
esbuild.build({
entryPoints: ['src/index.ts'],
outfile: 'dist/bundle.js',
bundle: true,
minify: true,
sourcemap: true,
target: ['es2020'],
}).catch(() => process.exit(1));工具边界
- esbuild 是极速编译器,不是完整的工程化工具
- 不内置 HMR、Dev Server(需额外配置或用 vite)
- vite 底层用 esbuild 做预构建,rollup 做生产打包
- 适合:库打包、CI 快速构建、作为其他工具的底层引擎
踩坑点
- 不支持所有 TypeScript 特性(如
const enum跨文件) - 插件 API 相对简单,复杂转换需要自写插件
- CSS Modules 支持有限