国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Bun 會是 Webpack 之后的下一件大事嗎?

開發 前端
最近,JavaScript 工具生態系統中出現了一個新成員——Bun。它的目標是讓整個 JavaScript 開發過程更加快速,這是一個全能的工具,它不僅加快了編譯和解析的速度,還提供了自己的依賴項管理器工具和捆綁。

JavaScript 工具的未來將離 JavaScript 越來越遠,一些工具(如 Webpack 和 Babel)的重要性正在日益下降。為什么?

目前已經證明一些語言(如 Rust、Go 甚至 Zig)在捆綁、轉譯和編譯方面比 JavaScript 具有更好的性能。它們不是單線程的,這在處理大量文件方面具有優勢。

是什么原因導致一定要用 JavaScript 開發生態系統的工具?畢竟這些工具主要運行在開發人員的機器上,而不是在瀏覽器上。此外,JavaScript 開發人員不需要調試這些工具的內部代碼。

SWC 是最早擺脫 JavaScript 的工具項目之一,不久之后,Esbuild 發布了,很多人為之興奮不已,因為在性能方面表現出色,它們成了真正的游戲規則改變者。目前,Vite 2.0 正在底層使用 Esbuild 來提供高性能的構建體驗。

最近,JavaScript 工具生態系統中出現了一個新成員——Bun。它的目標是讓整個 JavaScript 開發過程更加快速,這是一個全能的工具,它不僅加快了編譯和解析的速度,還提供了自己的依賴項管理器工具和捆綁。

這個工具還沒有為在生產環境中使用做好準備,但它的未來看起來很光明。本文將介紹這個新工具,以及它與 NPM、Esbuild、Babel 和 Webpack 之間的對比。

概覽

與其他使用 Rust 或 Go 開發的工具不同,Bun 是用 Zig 開發的。Zig 是一種通用的編程語言和工具鏈,用于開發和維護健壯、優化和可重用的軟件。

盡管它是從頭開始開發的,但開發者采用了與 Esbuild 項目類似的開發方式。

Bun 支持一些開箱即用的復雜特性,如 TypeScript、CSS in Js、JSX,不過還缺少一些基本功能,如源映射、Minifier、搖樹優化等。

Bun 的一個顯著特性是它提供了自己的 Node 模塊解析器實現,這是最值得關注的優化之一。

與 NPM 和 Yarn 一樣,Bun 也會創建鎖文件,叫作 bun.lockb。這里需要注意的是,它生成的是二進制文件,而不是純文本文件。為什么是二進制文件?主要是出于性能的考慮。壞處是不便于我們檢查 PR 的變化。

檢查鎖文件的唯一方法是使用下面的命令:

bun install -y

Bun 目前支持下面這些加載器:

安裝配置

Bun 還不是一個公開項目,你需要加入他們的 Discord 頻道并發出邀請請求。在進入 Discord 后找到他們的 #invites 頻道,然后在“I want bun”頻道上發起邀請請求。

你將獲得一個一次性的 jarred-sumner/bun 代碼庫邀請。

要安裝 Bun,你需要執行下面的命令:

curl -fsSL https://bun.sh/install | bash
# Manually add the directory to your $HOME/.bashrc (or similar)
BUN_INSTALL="/home/jgranja/.bun"
PATH="$BUN_INSTALL/bin:$PATH"

檢查是否可以正常運行:

bun --version

你會看到它還沒有達到 1.0.0 版本。正如我前面提到的,它還沒有為在生產環境中使用做好準備。

使用

它的用法很簡單。如果你熟悉 Yarn 或 NPM,你會發現它們幾乎是一樣的。

安裝包:

bun install

與 Yarn 一樣,它將使用已有的 package.json 與鎖文件(如果有的話)的組合。

添加或刪除包:

bun remove react
bun add preact

我們可以將 Bun 作為執行器:

# instead of `npm run clean`
bun run clean
# if added to the `scripts` in package.json
bun clean

它通過 create 命令提供了與最新的 React 生態系統的一些集成。

我們來創建一個 Next.js 應用:

bun create next ./app
cd app
bun

我們來創建一個 Create-React 應用:

bun create react ./app
cd app
bun

如何生成捆綁文件?

運行bun bun ./path-to.js可以生成 node_modules.bun 文件,它包含了所有導入的依賴項。

你可以通過執行./node_modules.bun > build.js來查看包的內容。

基準測試

讓我們通過運行一些基準測試來了解它的速度。當然,這些都是近似的測量值,并且跟運行環境的配置有關。因為這是開發人員的工具,所以我主要關注最常見的開發任務:

  • 啟動開發服務器;
  • 對文件做一些修改;
  • 安裝包;
  • 構建生產發行包;
  • 創建一個新的 Web 應用程序。

作為參考,我的筆記本電腦配備了 AMD Raizen 7 CPU 和 16GB 內存,系統是 Ubuntu 20.04。

我使用了一個生成隨機 jsx 文件的工具。我生成了 21 個隨機的 jsx 文件,我將它們包含在所有測試項目中。

Bun 與 Babel

這個對比可能不是很公平,但它確實讓我們看到這個工具與傳統工具相比是多么的快。

轉譯 React 文件對比

創建一個 Create-React 應用

我們可以看到,使用 Bun 和 Webpack+NPM 創建 Create React 應用之間的明顯區別。前者幾乎沒有任何延遲,只需要 4.4 秒就可以完成所有設置。

創建 CRA 對比

創建一個 Next.js 應用

之前的結果其實并沒有那么令人印象深刻,畢竟我們已經習慣了用其他工具痛擊 Webpack。我們來進行一場公平的戰斗,比較一下 Bun 和 SWC。

Bun 與 SWC 對比

兩者之間的差異非常明顯,特別是在處理文件變更方面。在我的筆記本電腦上,Bun 只需要 10 毫秒,而 SWC 需要 70 毫秒。

包管理器

在模塊的安裝和操作方面,Bun 也有一些優勢。其他工具依賴 NPM 或 Yarn 來完成這項工作,Bun 的性能大約比 NPM 快 4 到 100 倍。

我們已經第二步中看到了兩者的巨大差異。不過,我們現在來做一個更基本的例子。我們創建一個 package.json 文件,其中的依賴項如下:

  • date-fns@2.28.0——89.5KB
  • jspdf@2.5.1——339.1KB
  • react@17.0.2——6.9KB

然后我們對第一次安裝和基于緩存安裝進行基準測試。為了讓差異更加明顯,我選擇了一個大型的庫(jspdf)。

Bun 與 NPM 安裝包對比

時間差異很明顯。如果通過網絡安裝,速度快 4 倍,如果從緩存中解析,速度會快更多。

Bun 與 Vite

Esbuild 是 Bun 真正的競爭對手。對于這個測試,我使用了 Vite,因為它內部使用了 Esbuild。

Bun 與 Vite 在開發服務器方面的對比

我還基于之前相同的代碼使用三個主要工具生成了捆綁包。需要注意的是,我們不建議在生產環境中使用 Bun,因為它缺少了相當多的特性。盡管基準測試結果令人印象深刻,但我們還是要持謹慎的態度。

在最壞的情況下,最長構建時間是 7 秒。這三個工具在這方面做得很出色,不是沒有道理的。

Bun、Vite、SWC 構建一個用于生產環境的捆綁包。

總結

JavaScript 工具從未像現在這么好過,即使這個工具還沒有為在生產環境中使用做好準備,但出現了新的競爭對手總是一件好事。Webpack 的未來還不明朗,它在 JavaScript 領域內外都有很多競爭對手。

Bun 并不是萬能的工具,它擅長的是構建網站和 Web 應用。如果要構建庫,Bun 團隊建議使用 Esbuild,甚至 Rollup。

現在,Bun 開發團隊的重心仍然不在生產就緒方面,他們專注于開發以及與現有框架和工具的兼容性。

責任編輯:龐桂玉 來源: 前端之巔
相關推薦

2021-12-06 13:54:05

全息數據存儲存儲數據存儲

2021-06-01 11:18:14

云計算機密云云安全

2013-07-08 16:00:58

OpenFlow軟件定義網絡SDN

2023-07-24 14:18:04

數據中心綜合布線

2020-06-11 21:46:05

個性化醫療保健物聯網IOT

2018-09-27 12:34:33

物聯網汽車工業IOT

2025-04-07 11:55:58

2018-07-03 16:00:25

無服務器云計算公共云

2020-04-27 10:26:23

網絡安全加密技術

2021-04-20 10:06:57

微軟Nuance公司人工智能

2018-01-31 11:26:54

2017-06-22 15:55:57

運維企業FreeWheel

2022-02-13 15:49:15

WebAssemblKubernetes容器

2009-03-28 09:22:12

MID移動OS

2019-04-13 00:30:12

網絡安全網絡安全大會西湖論劍

2024-04-07 12:57:10

數據訓練

2018-01-04 12:09:13

DevOps物聯網人工智能

2011-06-30 11:23:32

Python

2016-01-22 11:51:36

測試浪費時間

2020-03-12 18:12:10

Google FuchAndroid移動應用
點贊
收藏

51CTO技術棧公眾號

日本精品国语自产拍在线观看| 成人禁在线观看网站| 国产亚洲一区二区三区四区 | 欧美成人一区二区三区片免费 | 亚洲免费观看高清完整版在线观看 | 天天综合网天天| 青青视频免费在线| 亚洲视频在线视频| 国产91精品久久久久久久网曝门| 免费电影日韩网站| www精品久久| 久久精品中文字幕| 国产欧美精品一区二区色综合朱莉 | 久久综合伊人77777蜜臀| 91免费观看在线| 欧美一区 二区| 成年人在线播放| 国产高清在线一区二区| 在线综合亚洲欧美在线视频| 美女www一区二区| 欧美日韩视频免费看| 琪琪五月天综合婷婷| 一区二区视频欧美| 免费在线看黄色| 影音先锋欧美在线| 日韩视频一区在线| 亚洲九九视频| 红杏视频成人| 亚洲精品视频在线免费| 免费网站永久免费观看| 91农村精品一区二区在线| 亚洲视频国产精品| 午夜免费啪视频观看视频| 亚洲精品日产aⅴ| 欧美成人一区二区三区片免费 | 欧美日韩亚洲一区二区三区在线观看| 亚洲加勒比久久88色综合| eeuss鲁片一区二区三区在线观看| 国产区精品视频在线观看豆花| 屁屁影院在线观看| 久久99国产精品99久久| 一本色道久久综合狠狠躁篇的优点| 国产精品久久久久久一区二区三区| 97视频热人人精品免费| ririsao久久精品一区| 免费一级特黄录像| 成人情视频高清免费观看电影| 亚洲欧美三级在线| 亚洲码国产岛国毛片在线| 国产精品美女| 成人久久精品| 久久天堂电影| 亚洲中文字幕无码一区二区三区| 91产国在线观看动作片喷水| 欧美片在线播放| 久久久蜜臀国产一区二区| 亚洲国产精品成人| av成人在线看| 秋霞av在线| 日本福利视频在线观看| 国产激情综合五月久久| 欧美成人精品福利| 国产精品久久久久久久久晋中 | 亚洲狼人精品一区二区三区| 欧美与亚洲与日本直播| 在线免费91| 超碰在线免费观看97| 欧美中文字幕在线观看| 亚洲福利视频久久| 亚洲综合成人在线视频| 精品一区二区免费| 日韩欧美午夜| 素人啪啪色综合| 国产一二三区在线视频| 99免费视频观看| 欧美污视频久久久| 国产成人精品电影| 日韩国产高清污视频在线观看| 亚洲精品日日夜夜| 国产乱码精品一区二区三区忘忧草| 色喇叭免费久久综合| 日韩一级特黄| 色哟哟免费在线观看 | 国产精品亚洲一区二区在线观看| 一二三中文字幕在线| 国产免费毛卡片| 日韩精品一区二区三区外面| 国产成人亚洲综合| 久久亚洲春色中文字幕| 日韩视频免费观看高清在线视频| 亚洲激情综合网| 久久综合国产精品| 美腿丝袜在线亚洲一区| 一区二区三区毛片免费| 亚洲丝袜啪啪| 日韩欧洲国产| 成人四虎影院| 麻豆av一区二区| 日本久久久久亚洲中字幕| 在线观看不卡av| 欧美一二三四在线| 色老综合老女人久久久| 亚洲欧洲制服丝袜| yiren22亚洲综合伊人22| 午夜精品久久久久久久99水蜜桃 | 伊是香蕉大人久久| 制服丝袜亚洲精品中文字幕| 午夜精品影院在线观看| 中文字幕欧美日本乱码一线二线| 国产经典欧美精品| 麻豆专区一区二区三区四区五区| 亚洲天堂激情| 天天插综合网| 欧美一区二区三| 青草青草久热精品视频在线网站 | 日韩区一区二| 精品3atv在线视频| 国产三线在线| 欧美日韩在线精品一区二区三区| 92看片淫黄大片欧美看国产片| 全亚洲最色的网站在线观看| 日韩少妇与小伙激情| 亚洲福利视频二区| 日韩精品一区二区三区视频播放 | 91原创在线视频| 网站一区二区| 成人午夜电影久久影院| av电影天堂一区二区在线| 亚洲一区二区av| 中文在线资源| 青青青免费在线视频| 久久日韩视频| 日本不卡不卡| 免费观看在线午夜影视| 国产精品毛片一区二区三区四区| 五月天最新网址| 春暖花开亚洲| 日本高清中文字幕| 成视人a免费观看视频| 调教视频vk| 久久.com| 白虎精品一区| 国产在线观看黄| 午夜免费视频在线国产| 在线看黄色av| 欧美1234区| 伦理在线一区| 黄色亚洲网站| 日韩五码电影| 久草在线综合| 日韩av在线播放网址| 欧美91福利在线观看| 一本久道久久久| 免费成人美女在线观看| 精品午夜久久福利影院| 不卡一区二区中文字幕| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品麻豆视频| 亚洲一区二区三区在线播放| 日韩欧美高清在线视频| 91精品久久久久久蜜臀| 国产欧美短视频| 国产日产欧美一区| 亚洲新中文字幕| 青青草视频国产| 色婷婷综合久久久中字幕精品久久 | 欧美韩国亚洲| 男女视频一区二区| 欧美精品v日韩精品v韩国精品v| 国产精品免费久久久久影院| 日韩国产成人无码av毛片| 国产一区久久精品| 成人精品电影在线观看| 国产suv精品一区二区| 思思99re6国产在线播放| 国产在线日韩欧美| 亚洲第一区在线| 成人亚洲成人影院| 欧美日韩精品免费在线观看视频| 久久久久久久久免费视频| 99pao成人国产永久免费视频| 日韩中文字幕网址| www久久日com| 91资源在线观看| 精品国产亚洲一区二区三区在线| 全球av集中精品导航福利| 欧美日韩综合| 国产精品中文字幕日韩精品| 国产精品大尺度| 欧美精品第一页| 久久久精品视频成人| 国产精品网站入口| 亚洲国产精品久久久久久女王| 中文字幕第80页| 触手亚洲一区二区三区| 在线亚洲人成| 欧美伦理影院| 国产在线精品一区二区不卡了| 一区二区三区美女| 亚洲精品一区中文|