Bun 常用命令速查清单(TypeScript 编译篇)

Bun 常用命令速查清单(TypeScript 编译篇)

Bun 是一款集运行时、包管理器、打包工具、测试框架于一体的全栈 JavaScript/TypeScript 工具链。它内置了 TypeScript 编译器,无需额外安装 tsc 即可直接运行 .ts.tsx 文件。以下是常用命令速查清单,重点整理 TypeScript 编译相关命令。

一、安装与版本管理

命令 说明
`curl -fsSL https://bun.sh/install bash`
npm install -g bun 通过 npm 全局安装
bun --version 查看 Bun 版本
bun upgrade 升级 Bun 到最新版

二、项目初始化与 TypeScript 配置

bun init

初始化新项目,自动生成 package.json 和推荐的 tsconfig.json

bash 复制代码
bun init

运行后会自动生成 tsconfig.json,包含 Bun 推荐的 TypeScript 编译选项:

json 复制代码
{
  "compilerOptions": {
    "lib": ["ESNext"],
    "target": "ESNext",
    "module": "Preserve",
    "moduleDetection": "force",
    "jsx": "react-jsx",
    "allowJs": true,
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "verbatimModuleSyntax": true,
    "noEmit": true,
    "strict": true,
    "skipLibCheck": true
  }
}

关键选项说明:

  • noEmit: true --- 不让 TypeScript 输出 JS 文件,因为 Bun 在运行时会直接转译
  • moduleResolution: bundler --- 使用 Bundler 解析算法,支持带扩展名的 .ts 导入
  • allowImportingTsExtensions: true --- 允许 import "./foo.ts" 语法

安装 TypeScript 类型定义

bash 复制代码
bun add -d @types/bun          # 安装 Bun 内置 API 的类型定义
bun add -d @types/node          # 如需 Node.js 类型

三、运行 TypeScript(无需编译)

Bun 可直接运行 .ts.tsx 文件,不需要预先编译。

命令 说明
bun run index.ts 运行 TypeScript 文件
bun index.ts 简写形式,效果相同
bun run --watch index.ts 监听模式,文件变化时自动重启
bun run --hot index.ts 热重载模式
bun run --inspect index.ts 开启调试模式

注意:Bun 的转译器只移除类型注解,不做类型检查 。如需类型检查,应单独运行 tsc --noEmit

四、构建打包(TypeScript 编译)

bun build --- 基础打包命令

将 TypeScript 代码打包为 JavaScript 输出:

bash 复制代码
# 打包单个入口文件
bun build ./src/index.ts --outdir ./dist

# 指定输出文件名
bun build ./src/index.ts --outfile ./dist/bundle.js

# 同时打包多个入口
bun build ./src/a.ts ./src/b.ts --outdir ./dist

常用选项

选项 说明
--outdir <dir> 输出目录
--outfile <file> 输出文件路径
--minify 压缩输出代码
--sourcemap 生成 Source Map
`--target browser bun
--splitting 开启代码拆分(仅支持 ESM)
--tsconfig-override <path> 指定自定义 tsconfig.json 路径
--external <pkg> 将指定包标记为外部依赖(不打包)
--define <key=value> 定义编译时常量替换

五、编译为独立可执行文件(重点)

bun build --compile --- 生成二进制可执行文件

这是 Bun 最强大的 TypeScript 编译特性之一:将 .ts 文件编译为无需运行时环境的独立二进制可执行文件

bash 复制代码
# 编译 TS 为当前平台的可执行文件
bun build ./cli.ts --compile --outfile mycli

生成的 mycli 可以直接运行,不需要安装 Node.js 或 Bun。

六、包管理与脚本执行

命令 别名 说明
bun install bun i 安装全部依赖
bun add <pkg> bun a 添加依赖(生产)
bun add -d <pkg> --- 添加开发依赖
bun remove <pkg> bun rm 移除依赖
bun update <pkg> bun up 更新依赖
bun run <script> bun <script> 运行 package.json 中的脚本
bunx <pkg> bun x 临时执行 npm 包(类似 npx)
bun --bun <cmd> --- 强制使用 Bun 运行时而非 Node.js

七、测试

命令 说明
bun test 运行所有测试文件(*.test.ts
bun test --watch 监听模式运行测试
bun test --coverage 生成测试覆盖率报告

八、常用组合示例

bash 复制代码
# 1. 初始化 TypeScript 项目
bun init
bun add -d @types/bun

# 2. 开发时直接运行 TS 并监听变化
bun --watch src/index.ts

# 3. 构建生产版本(打包 + 压缩 + Source Map)
bun build src/index.ts --outdir dist --minify --sourcemap

# 4. 编译为 Linux 服务器可执行文件
bun build src/cli.ts --compile --target=bun-linux-x64 --outfile cli-linux

# 5. 类型检查(单独执行)
tsc --noEmit

# 6. 一次性构建 + 类型检查
tsc --noEmit && bun build src/index.ts --outdir dist

小贴士

  1. 类型检查 :Bun 运行时不检查类型,建议在 CI 或提交前运行 tsc --noEmit
  2. 环境一致性 :提交 bun.lockb 到 Git,配合 bun install --frozen-lockfile 确保依赖锁定。
  3. bunx :类似 npx,用于临时执行 npm 包命令,无需全局安装。
  4. 查看完整帮助 :运行 bun --helpbun build --help 获取最新命令详情。
相关推荐
渐儿几秒前
React Native 实操开发文档
前端
Nturmoils1 分钟前
书签真正难的不是收藏,而是找回来:我是怎么做这个 Chrome 插件的
javascript·后端·浏览器
HYCS2 分钟前
用pixijs实现fabricjs(三):对象继承链和自定义对象
前端·javascript·canvas
烛衔溟2 分钟前
TypeScript 类实现接口
linux·ubuntu·typescript
biubiubiu_LYQ2 分钟前
萌新小白基础篇之JS预编译
javascript
渐儿2 分钟前
Electron 实操开发文档
前端
小则又沐风a4 分钟前
深入了解进程概念 第二章
java·linux·服务器·前端
亲亲小宝宝鸭4 分钟前
微前端方案探索:qiankun
前端·微服务
渐儿5 分钟前
跨端框架实操开发文档:Electron / Tauri / React Native
前端
ZC跨境爬虫8 分钟前
跟着 MDN 学 HTML day_60:(表单与按钮技能测试实战)
服务器·前端·javascript·数据库·ui·html