bun run

2024-03-01 07:04
文章标签 run bun

本文主要是介绍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:bashshzsh

⚡️ npm run 的启动时间约为 170 ms;使用 Bun 是 6ms

如果 package.json 脚本和内置 bun 命令(installdevupgrade 等)之间存在名称冲突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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761575

相关文章

[vue小白]npm run运行以后无法关闭

开启vue任务后,关闭git bash窗口发现端口仍然被占用,程序没有关闭 通过查询资料,大部分都说ctrl+c就可以了,但是经过实践发现并不可行,目测大部分都是复制粘贴的答案。 经过尝试,最终发现可能只能暴力关闭了 1.在cmd中输入netstat -ano查询占用端口号的pid 2. 然后在任务管理器中查询对应的任务并关闭 3. 在linux系统中更简单,直接kill -9 pid即可

bun一个现代JavaScript运行时

先上结论:官网的方法行不通 curl https://bun.sh/install | bash Bun:是一个现代JavaScript运行时,专注于性能与开发者体验。它不仅是一个快速的JavaScript执行环境,还提供了构建、测试和调试JavaScript和TypeScript代码的工具。Bun支持Windows、Linux和macOS操作系统,但在Windows桌面环境下安装时可能需

eclipse里maven debug-tomcat:run注意

eclipse里maven debug-tomcat:run注意: 源码调试需要插件:m2e.sourcelookup 在eclipse上 Help->install new software  https://bjmi.github.io/update-site/

【UVALive】3661 Animal Run 平面图最小割 最短路

传送门:【UVALive】3661 Animal Run 题目大意:给你一个n*m个点的网格图,其中动物园在左上角,动物们的目的地在右下角,现在你需要派出一些工作人员拦截某些边使得没有一只动物能到达右下角,已知每个单元网格中存在左上角到右下角的对角线,网格中的边以及对角线都是双向的,每条道路有个权值,表示拦截这条边所需要的工作人员数。你的任务是派尽量少的工作人员使得达到目的。 题目分析

【docker无法启动】 can't create unix socket /var/run/docker.sock: is a directory

一次重启docker后出现的问题 Oct 18 19:18:20 worker systemd[1]: Starting Docker Application Container Engine...Oct 18 19:18:20 worker1 dockerd-current[118257]: time="2018-10-18T19:18:20.734668371+08:00" level=w

QT---QtConcurrent---Run

1.QtConcurrent QtConcurrent 是命名空间 (namespace),它提供了高层次的函数接口 (APIs),可根据计算机的 CPU 核数,自动调整运行的线程数目。 模块:concurrent 2.run() QFuture<T> run(Function, ...) Function 必须是指向函数的指针,函数返回T型对象。省略号代表变量参数列表,如果给出参数,这

IDEA 更新后打开Java项目无法Run

问题 IDEA新建了Java项目,然后更新IDEA之后,没有勾选任何删除配置,但是在新版本打开项目时无法使用Run。 分析 首先这不是Edit Configurations能解决的问题,根因也不是。 打开Project Structure发现除了Name以外的配置都是不可用的,截图的SDK是配置后的,原本没有;而Language level也是22 - xxx,正常可用的是“SDK

springBoot重写start run方法

Spring Boot允许开发者自定义应用程序启动过程,如果想要重写start方法,通常是在实现了CommandLineRunner, ApplicationRunner, 或者ApplicationListener<ContextRefreshedEvent>接口的类中。这些接口的目的是在Spring应用上下文初始化完成后执行一些定制的操作。 例如,如果你创建了一个类并实现了Applicati

docker run --rm是什么意思

--rm 容器退出时就能够自动清理容器内部的文件系统

Your code has been rated at 6.24/10 (previous run: 5.83/10, +0.41)

收到代码评分为6.24/10,并且相比之前的评分5.83/10有所提升(+0.41),说明你的代码质量有所改善,但仍有一定的提升空间。为了进一步优化代码,特别是针对日志记录中使用懒惰格式化的问题,我们可以继续完善代码并确保遵循最佳实践。 代码示例 假设你有一个日志记录函数,现在我们来完善它,确保使用懒惰格式化,并且改进代码的可读性和可维护性。 代码示例:使用懒惰格式化 假设你有一个简单的日