bun CLI 可用于执行 JavaScript/TypeScript 文件、package.json中的scripts 以及可执行包。
性能
Bun 旨在快速启动和快速运行。Bun 使用的是由 Apple 为 Safari 开发的 JavaScriptCore 引擎。在大多数情况下,其启动和运行性能比 Node.js 和基于 Chromium 的浏览器使用的 V8 引擎更快。其转译器和运行时是用 Zig 编写的,Zig 是一种现代、高性能的编程语言。在 Linux 上,这可使启动时间比 Node.js 快 4 倍。
bun hello.js 5.2ms
node hello.js 25.1ms
运行文件
Bun 自带对 TypeScript 和 JSX 开箱即用的支持。Bun 的快速原生转译器在执行之前会即时转译每个文件。
bun run index.js
bun run index.jsx
bun run index.ts
bun run index.tsx
或者,你可以省略“run”关键字并使用“裸”命令;它们的行为是完全相同的。
bun index.tsx
bun index.js
–watch
若要在监视模式下运行文件,请使用--watch
标志。
bun --watch run index.tsx
注意— 使用 bunbun run
时,请立即在bun
后面放置--watch
等 Bun 标志。
bun --watch run dev # ✔️ do this
bun run dev --watch # ❌ don't do this
在命令末尾出现的标志将被忽略并传递到"dev"
脚本本身。
–smol
在内存受限的环境中,使用--smol
标志以牺牲性能为代价来减少内存使用量。
bun --smol run index.tsx
运行package.json 中的
脚本
bun [bun flags] run [script flags]
您的package.json
可以定义许多与 shell 命令相对应的命名"scripts"
”。
{
// ... other fields
"scripts": {
"clean": "rm -rf dist && echo 'Done.'",
"dev": "bun server.ts"
}
}
使用bun run
执行这些脚本。
$ bun run clean
$ rm -rf dist && echo 'Done.'
Cleaning...
Done.
Bun服务器托管网 在子 shell 中执行脚本命令。它使用找到的第一个 shell 按顺序检查以下 shell:bash
、sh
、zsh
。
⚡️
npm run
的启动时间约为 170 ms;使用 Bun 是6ms
。
如果package.json
脚本和内置bun
命令(install
、dev
、upgrade
等)之间存在名称冲突Bun 的内置命令优先。在这种情况下,请使用更显式的bun run
命令来执行包脚本。
bun run dev
若要查看可用脚本的列表,请运行不带任何参数的bun run
。
$ bun run
quickstart scripts:
bun run clean
rm -rf dist && echo 'Done.'
bun run dev
bun server.ts
2 scripts
Bun 尊重生命周期钩子。例如,如果定义了 preclean 和 postclean,那么 服务器托管网bun run clean 将执行它们。如果pre 执行
失败,Bun 将不会执行脚本本身。
–bun
package.json 脚本通常会引用本地安装的 CLI(如 vite 或 next)。这些 CLI 通常是带有井号(shebang)标记的 JavaScript 文件,表明它们应使用 node 执行。
#!/usr/bin/env node
// do stuff
默认情况下,Bun 尊重这个 shebang 并使用node
执行脚本。但是,您可以使用--bun
标志覆盖此行为。对于基于 Node.js 的 CLI,这将使用 Bun 而不是 Node.js 运行 CLI。
bun run --bun vite
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net