本文主要是介绍bun run,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
注意 — 使用 bun bun 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> [script flags]
您的package.json
可以定义许多与 shell 命令相对应的命名"scripts"
”。
{// ... other fields"scripts": {"clean": "rm -rf dist && echo 'Done.'","dev": "bun server.ts"}
}
使用 bun run <script>
执行这些脚本。
$ 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 cleanrm -rf dist && echo 'Done.'bun run devbun server.ts2 scripts
Bun 尊重生命周期钩子。例如,如果定义了 preclean 和 postclean,那么 bun run clean 将执行它们。如果 pre<script> 执行
失败,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
这篇关于bun run的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!