首页 > 其他分享 >Bun.sh 是什么?

Bun.sh 是什么?

时间:2022-09-04 10:56:49浏览次数:66  
标签:Node 什么 JavaScript sh API bun Bun 运行

Bun.sh 是什么?

Bun 是一个快速的一体化 JavaScript 运行时

Bun 是像 Node 或 Deno 一样的现代 JavaScript 运行时。它是从头开始构建的,专注于三个主要方面:

  • 快速开始(考虑到优势)。
  • 新的性能水平(扩展 JavaScriptCore,引擎)。
  • 作为一个伟大而完整的工具(捆绑器、转译器、包管理器)。

Bun 旨在替代您当前的 JavaScript 和 TypeScript 应用程序或脚本——在您的本地计算机、服务器或边缘。 Bun 原生实现了数百个 Node.js 和 Web API,包括约 90% 的 节点 API 函数(本机模块)、fs、路径、缓冲区等。

不像 Node 和 Deno bun 包括

  • Web API 像 拿来 , 网络套接字 , 和 可读流 是内置的
  • node_modules bun 实现了 Node.js 的模块解析算法,所以你可以在 Bun 中使用 npm 包。支持 ESM 和 CommonJS,但 Bun 内部使用 ESM
  • 在 Bun 中,每个文件都被转译。 TypeScript 和 JSX 可以正常工作
  • 包子支持 “路径” , “jsxImportSource” 以及来自 tsconfig.json 文件的更多内容

由于所有代码都被转译了,您可以在没有任何外部编译器的情况下本地运行 typescript,这与 node 不同

它不仅是用好吃的面包烤的,而且烤得也很快。

让我们通过使用 node 和 bun 创建一个反应样板来查看一个示例,并查看时间差异。当你感到震惊时,系好安全带。

好的 所以我花了 2 分钟 59 秒让我们试着用 bun 做同样的事情

我花了五秒钟

包子为什么快?

大量时间用于分析、基准测试和优化事物。 Bun 的每个部分的答案都是不同的,但一个普遍的主题是:对内存的低级控制和缺乏隐藏的控制流使得编写快速软件变得更加简单。代替 npm 运行 运行良好 每次运行节省 160 毫秒。

现在您已经见证了不同之处,让我们看看如何安装并测试它

要安装 Bun,运行这个 安装脚本 在您的终端中。它从 GitHub 下载 Bun。

 卷曲 https://bun.sh/install |重击

bun 目前提供哪些功能

它为您提供了一些额外的内置 API,例如

  • 好:菲 使用 Bun 的低开销外部函数接口从 JavaScript 调用本机代码
  • Bun 附带一个内置的快速 SQLite3 客户端 包子:sqlite

除了它提供的所有功能之外,bun 还可以运行 npm 包

结论

尽管 Bun 的目标是提供一个超快的运行时,使您能够在浏览器之外运行 js 并且它实现了它,但它还没有一个稳定的版本并且处于开发的早期阶段。无论如何,和Bun一起玩,但要犹豫不决。可能存在影响您的项目的错误。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/12068/47360410

标签:Node,什么,JavaScript,sh,API,bun,Bun,运行
From: https://www.cnblogs.com/amboke/p/16654519.html

相关文章

  • 什么是编译器?
    什么是编译器?CompileErrors如果您曾经接触过编程或编码,那么您很可能听说过编译器。特别是当您尝试构建从GitHub获得的C/C++项目时,它们会出现丑陋的链接和编译器错......
  • 你今天为什么写代码?为什么,为什么,为什么,为什么?为您的工程项目构建完美的叙述。
    你今天为什么写代码?为什么,为什么,为什么,为什么?为您的工程项目构建完美的叙述。你今天写代码了吗?修复了一些错误,防止了未来的中断,清理了死代码,或者为sprint完成了新功能。......
  • Windows11中windowsPowerShell运行hexo命令报错
    修改设置Windows11安装后,系统自带的终端输入命令,git和node都可以使用,hexo不可以,提示:hexo:无法加载文件C:\Users\username\AppData\Roaming\npm\hexo.ps1`,因为在此系......
  • numpy reshape
    把一维数组reshape成多维数组,是由外向内逐步切割的过程: 输出: ......
  • 什么是覆盖索引
    前言在了解索引覆盖前,我们先来看下,聚集索引,非聚集索引,回表等概念.什么是聚集索引聚集索引是按照每张表的主键构造一颗B+树,同时叶子节点中存放的就是整张表的行记录数......
  • Vuex是什么,每个属性是干嘛的,如何使用 ?
    Vuex是集中管理项目公共数据的仓库。Vuex大幅减少了组件通信的繁杂度,拥有state数据存储,mutations处理同步事件,modules模块的注册,actions处理异步事件,getters过滤数......
  • 网站使用CDN对SEO有什么影响?
    网站开启CDN主要原因为以下三点:1、给网站加速,让网站访问更快一些。2、隐藏网站IP,减少被ddos攻击。3、服务器安全配置不高的情况下,可通过CDN来配置安全措施,避免CC攻击和......
  • CTF_SHOW命令执行系列
    CTF_SHOW命令执行系列WEB29题目:<?php/*#-*-coding:utf-8-*-#@Author:h1xa#@Date:2020-09-0400:12:34#@LastModifiedby:h1xa#@LastModified......
  • Ubuntu常用快捷键
    一、打开Terminal的快捷键是Ctrl+Alt+T二、中止运行Ctrl+C一般最常用的是cd,ls, mkdir,rmdir,cp,rm,mv,clear,pwd,shutdown.一般使用时只需记住常用命令,不清......
  • 什么是测试驱动开发(TDD)?
    什么是测试驱动开发(TDD)?自从我的软件工程之旅开始以来,我的脑海中就没有几个关键问题,特别是关于测试策略我是否编写了足够的测试,我的测试套件是否完全适合所有用户场景?我......