npx skills add https://github.com/secondsky/claude-skills --skill 'Bun Runtime'Bun 是一个基于 JavaScriptCore(Safari 的引擎)构建的快速一体化 JavaScript 运行时。在 Linux 上,它提供比 Node.js 快 4 倍的启动速度。
# 运行文件
bun run index.ts
bun index.ts # 简写形式
# 以监听模式运行
bun --watch run index.ts
# 运行 package.json 中的脚本
bun run dev
# 以热重载模式运行
bun --hot run server.ts
| 标志 | 用途 |
|---|---|
--watch | 文件更改时重启 |
--hot | 热模块替换(保留状态) |
--smol | 减少内存使用(较慢的 GC) |
--inspect |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 启用调试器 |
--preload | 在执行前加载模块 |
--env-file | 加载特定的 .env 文件 |
-e, --eval | 执行代码字符串 |
Bun 即时转译 TypeScript 和 JSX:
bun run index.js
bun run index.ts
bun run index.jsx
bun run index.tsx
重要提示:将 Bun 的标志紧跟在 bun 命令之后:
bun --watch run dev # 正确
bun run dev --watch # 错误 - 标志被传递给了脚本
# 运行脚本
bun run dev
bun dev # 简写形式(如果没有与 Bun 命令冲突)
# 列出可用的脚本
bun run
# 使用 Bun 而不是 Node 运行
bun run --bun vite
Bun 尊重生命周期钩子(preclean、postclean 等)。
| 模式 | 标志 | 行为 |
|---|---|---|
| 监听 | --watch | 更改时完全重启进程 |
| 热重载 | --hot | 替换模块,保留状态 |
# 监听模式 - 完全重启
bun --watch run server.ts
# 热重载 - 保留连接/状态
bun --hot run server.ts
Bun 自动加载 .env 文件:
# 自动加载:.env, .env.local, .env.development
bun run index.ts
# 指定环境文件
bun --env-file .env.production run index.ts
# 禁用自动加载
# 在 bunfig.toml 中:env = false
在代码中访问:
const apiKey = process.env.API_KEY;
const bunEnv = Bun.env.NODE_ENV;
| 全局变量 | 来源 | 备注 |
|---|---|---|
Bun | Bun | 主 API 对象 |
Buffer | Node.js | 二进制数据 |
process | Node.js | 进程信息 |
fetch | Web | HTTP 请求 |
Request/Response | Web | HTTP 类型 |
WebSocket | Web | WebSocket 客户端 |
crypto | Web | 加密 |
console | Web | 日志记录 |
__dirname | Node.js | 当前目录 |
__filename | Node.js | 当前文件 |
在主脚本之前加载模块:
bun --preload ./setup.ts run index.ts
或在 bunfig.toml 中配置:
preload = ["./setup.ts"]
使用场景:polyfills、全局设置、插桩。
# 将代码通过管道传递给 Bun
echo "console.log('Hello')" | bun run -
# 重定向文件
bun run - < script.js
# 在特定包中运行脚本
bun run --filter 'pkg-*' build
# 在所有工作区中运行
bun run --filter '*' test
# 启动调试器
bun --inspect run index.ts
# 等待调试器连接
bun --inspect-wait run index.ts
# 在第一行中断
bun --inspect-brk run index.ts
通过 Chrome DevTools 或 VS Code 连接。
| 错误 | 原因 | 修复方法 |
|---|---|---|
Cannot find module | 缺少依赖项 | 运行 bun install |
Top-level await | 在异步函数外使用 await | 包装在异步函数中或使用 .mts |
--watch not working | 标志位置错误 | 将标志放在 run 之前 |
加载 references/bunfig.md 当:
加载 references/cli-flags.md 当:
加载 references/module-resolution.md 当:
每周安装量
–
代码仓库
GitHub 星标数
93
首次出现时间
–
安全审计
Bun is a fast all-in-one JavaScript runtime built on JavaScriptCore (Safari's engine). It provides 4x faster startup than Node.js on Linux.
# Run a file
bun run index.ts
bun index.ts # shorthand
# Run with watch mode
bun --watch run index.ts
# Run package.json script
bun run dev
# Run with hot reloading
bun --hot run server.ts
| Flag | Purpose |
|---|---|
--watch | Restart on file changes |
--hot | Hot module replacement (preserves state) |
--smol | Reduce memory usage (slower GC) |
--inspect | Enable debugger |
--preload | Load modules before execution |
--env-file | Load specific .env file |
-e, --eval | Evaluate code string |
Bun transpiles TypeScript and JSX on-the-fly:
bun run index.js
bun run index.ts
bun run index.jsx
bun run index.tsx
Important : Put Bun flags immediately after bun:
bun --watch run dev # Correct
bun run dev --watch # Wrong - flag passed to script
# Run script
bun run dev
bun dev # shorthand (if no Bun command conflicts)
# List available scripts
bun run
# Run with Bun instead of Node
bun run --bun vite
Bun respects lifecycle hooks (preclean, postclean, etc.).
| Mode | Flag | Behavior |
|---|---|---|
| Watch | --watch | Full process restart on changes |
| Hot | --hot | Replace modules, preserve state |
# Watch mode - full restart
bun --watch run server.ts
# Hot reloading - preserves connections/state
bun --hot run server.ts
Bun automatically loads .env files:
# Loads automatically: .env, .env.local, .env.development
bun run index.ts
# Specify env file
bun --env-file .env.production run index.ts
# Disable auto-loading
# In bunfig.toml: env = false
Access in code:
const apiKey = process.env.API_KEY;
const bunEnv = Bun.env.NODE_ENV;
| Global | Source | Notes |
|---|---|---|
Bun | Bun | Main API object |
Buffer | Node.js | Binary data |
process | Node.js | Process info |
fetch | Web | HTTP requests |
Request/Response | Web | HTTP types |
Load modules before your main script:
bun --preload ./setup.ts run index.ts
Or in bunfig.toml:
preload = ["./setup.ts"]
Use cases: polyfills, global setup, instrumentation.
# Pipe code to Bun
echo "console.log('Hello')" | bun run -
# Redirect file
bun run - < script.js
# Run script in specific packages
bun run --filter 'pkg-*' build
# Run in all workspaces
bun run --filter '*' test
# Start debugger
bun --inspect run index.ts
# Wait for debugger connection
bun --inspect-wait run index.ts
# Break on first line
bun --inspect-brk run index.ts
Connect via Chrome DevTools or VS Code.
| Error | Cause | Fix |
|---|---|---|
Cannot find module | Missing dependency | Run bun install |
Top-level await | Using await outside async | Wrap in async function or use .mts |
--watch not working | Flag in wrong position | Put flag before run |
Load references/bunfig.md when:
Load references/cli-flags.md when:
Load references/module-resolution.md when:
Weekly Installs
–
Repository
GitHub Stars
93
First Seen
–
Security Audits
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
107,800 周安装
Medusa数据库迁移工具db-migrate:一键执行迁移命令,实时反馈结果
575 周安装
Mermaid 图表专家 - 创建架构图、流程图、ERD等专业图表,提升技术文档质量
573 周安装
React 网页动画库指南:GSAP、Framer Motion、Anime.js 实现 Awwwards 级 60fps 动画
586 周安装
钉钉消息发送技能指南:Webhook机器人、企业应用、工作通知、sessionWebhook全解析
599 周安装
Laravel 12 最佳实践指南:29条规则构建可扩展应用
582 周安装
Claude Code Agent Skill 编写器 - 创建结构良好、符合最佳实践的技能指南
587 周安装
WebSocket| Web |
| WebSocket client |
crypto | Web | Cryptography |
console | Web | Logging |
__dirname | Node.js | Current directory |
__filename | Node.js | Current file |