<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Bun“全家桶” JavaScript 運(yùn)行時(shí)

          聯(lián)合創(chuàng)作 · 2023-09-23 02:56

          Bun 是采用 Zig 語言編寫的高性能 “全家桶” JavaScript 運(yùn)行時(shí),官方稱其為 "all-in-one JavaScript runtime"。Bun 提供了打包、轉(zhuǎn)譯、安裝和運(yùn)行 JavaScript & TypeScript 項(xiàng)目的功能,內(nèi)置原生打包器 (native bundler)、轉(zhuǎn)譯器、task runner、npm 客戶端,以及 fetchWebSocket等 Web API。

          Bun 是一個(gè)新的:

          • 帶有 Web API 的 JavaScript 運(yùn)行時(shí),內(nèi)置fetchWebSocketAPI。bun 嵌入了 JavaScriptCore,它往往比 V8 等更流行的引擎更快且內(nèi)存效率更高(盡管更難嵌入)
          • JavaScript/TypeScript/JSX 轉(zhuǎn)譯器
          • JavaScript 和 CSS 打包器
          • package.json 腳本的任務(wù)運(yùn)行器
          • npm 兼容的包管理器

          Bun 的 HTTP 服務(wù)器基于 Request 和 Response 等 Web 標(biāo)準(zhǔn):

          // http.js
          export default {
            port: 3000,
            fetch(request) {
              return new Response("Welcome to Bun!");
            },
          };

          Bun 完全從零開始構(gòu)建,對(duì)標(biāo)的項(xiàng)目是 Node.js 和 Deno 這類現(xiàn)代化的 JavaScript 運(yùn)行時(shí)。

          Bun 旨在替代當(dāng)前的 JavaScript 和 TypeScript 應(yīng)用程序或腳本,原生實(shí)現(xiàn)了數(shù)百個(gè) Node.js 和 Web API,包括約 90% 的 Node-API 函數(shù)(native modules)、fs、path、Buffer 等。

          Bun 的目標(biāo)是在瀏覽器之外運(yùn)行世界上大多數(shù) JavaScript,為未來的基礎(chǔ)架構(gòu)帶來性能和復(fù)雜性的增強(qiáng),并通過更好、更簡單的工具提高開發(fā)人員的生產(chǎn)力。

          • 內(nèi)置了諸如 fetch、WebSocket 和 ReadableStream 等Web API
          • node_modules bun 實(shí)現(xiàn)了 Node.js 的模塊解析算法,因此你可以在 Bun 中使用 npm 包。支持ESM和CommonJS,但Bun內(nèi)部使用ESM
          • 在 Bun中,每個(gè)文件都是轉(zhuǎn)譯的。TypeScript和JSX就可以使用
          • Bun支持來自tsconfig.json文件的 "paths"、"jsxImportSource "等。
          • Bun.Transpiler Bun的JsX和TypeScript轉(zhuǎn)譯器在Bun中作為API可用。
          • 使用Bun.write提供的最快系統(tǒng)調(diào)用來寫入、復(fù)制、管道、發(fā)送和克隆文件。
          • Bun自動(dòng)從.env文件加載環(huán)境變量。不再需要 require("dotenv").config()
          • Bun提供了一個(gè)快速的SQLite3客戶端,內(nèi)置bun:sqlite。
          • Node-API Bun實(shí)現(xiàn)了大部分的Node-API(N-API)。許多Node.js原生模塊都可以使用
          • bun:ffi 使用Bun的低開銷外部函數(shù)接口從JavaScript調(diào)用 native code。
          • node:fs node:path Bun原生支持越來越多的Node.js核心模塊,以及像Buffer和process這樣的globals。

          性能測試結(jié)果對(duì)比:

          ▲ 服務(wù)器端渲染(每秒的 HTTP 請(qǐng)求數(shù))

          ▲ 加載大型數(shù)據(jù)表(每秒的平均請(qǐng)求數(shù))

          瀏覽 25
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美性开放网站 | 狠狠搞视频 | 影音先锋男人天堂 | 台湾在线无码视频 | 黄色成人一级视频 |