成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vite 未來使用的打包工具,正式開源了!

開發 開發工具
Rolldown 力圖在最大程度上與 Rollup 的 API 和插件體系保持兼容,以簡化用戶的遷移過程。對于一些基礎應用場景來說,Rolldown 有望直接替代現有工具。

3 月 8 號,Rolldown[1] 正式開源了,它是一個基于 Rust[2] 語言開發的 JavaScript 打包器,其設計目標是成為 Vite 在未來將要采用的核心打包工具。它不僅提供了與 Rollup 兼容的 API 和插件體系,而且在功能范圍上,它更加貼近于 esbuild[3] 的設計理念。

圖片圖片

Rolldown 基于 Rust 語言開發,并且是在 Oxc[4] 基礎架構上構建的。目前,Rolldown 內部已經在使用 Oxc 提供的 parser 和 resolver。未來,隨著 Oxc 轉換和壓縮功能的推出,它們也會被整合到 Rolldown 中。

圖片圖片

為什么設計 Rolldown

Rolldown 設計初衷是作為 Vite 未來采用的底層打包工具。

目前,Vite 在內部整合了兩款打包工具:

  • esbuild,由 Evan Wallace 開發。Vite 利用 esbuild 完成依賴的預打包、TypeScript / JSX 的轉換、代碼的降級處理以及代碼壓縮。
  • Rollup,由 Rich Harris 創立,并由 Lukas Taegert-Atkinson 維護。Vite 在其生產環境構建中使用 Rollup,并且支持與 Rollup 兼容的插件接口。

之所以同時采用這兩種打包工具,是因為雖然它們各有卓越之處,但同時也各自缺乏對方所具備的某些功能:

  • esbuild 的執行速度極快,功能全面,但其打包輸出,尤其是在代碼分割方面,對于應用打包而言并不盡如人意。
  • Rollup 在應用打包方面經過了嚴格的實戰檢驗,成熟穩定,但相比于編譯為原生語言的打包工具,它的速度要慢得多。

不得不依賴兩套打包工具存在以下幾個不理想的地方:

  • 不同工具輸出之間的微小差異,可能會導致開發環境與生產環境構建的行為表現不一致。
  • 在生產環境構建過程中,用戶源代碼需要被多個工具反復進行解析、轉換和序列化,這導致了大量不必要的開銷。

我們理想中的情景是,Vite 能夠使用一種單一的打包工具,這款工具不僅能提供近乎原生的性能,還能內置轉換功能以減少解析和序列化的開銷,同時,它還需要有與 Rollup 兼容的插件接口,并且能提供適合大型應用的先進構建輸出控制功能。

Rolldown vs Rollup

Rolldown 力圖在最大程度上與 Rollup 的 API 和插件體系保持兼容,以簡化用戶的遷移過程。對于一些基礎應用場景來說,Rolldown 有望直接替代現有工具。然而,在處理一些特殊情況,特別是在涉及到復雜配置時,可能會遇到輕微的差異。

最初,Rolldown 開發團隊計劃將 JavaScript 代碼轉換為 Rust 實現,但很快他們發現,要想充分發揮 Rust 的性能優勢,就必須按照 Rust 的特性來編寫代碼。因此,Rolldown 的內部架構更偏向 esbuild 而非 Rollup,并且我們在代碼塊分割的邏輯處理上,也會與 Rollup 存在差異。

與此同時,Rolldown 涵蓋的功能比 Rollup 更為廣泛,與 esbuild 更為相似。它內部支持 CommonJS 規范、node_modules 的解析,并且計劃在未來增加對 TypeScript/JSX 的轉換以及代碼壓縮的支持。

Rolldown Roadmap

Rolldown 目前正處于積極開發階段,還未適用于生產環境。Rolldown 開發團隊選擇開放源代碼,以便開始與社區貢獻者合作,推動 Rolldown 的發展。

圖片圖片

為了追求速度和更好地開發體驗,在前端基建領域,越來越多工具采用 Rust 來構建。不過 Rust 學習成本挺高的,2024 年 Rust 你還學得動么?如果你已經上手 Rust,可以一起參與 Rolldown 開源項目。

參考資料

[1]Rolldown: https://rolldown.rs/

[2]Rust: https://www.rust-lang.org/

[3]esbuild: https://esbuild.github.io/

[4]Oxc: https://oxc-project.github.io/

責任編輯:武曉燕 來源: 全棧修仙之路
相關推薦

2024-03-11 00:07:00

VueRustGo

2024-10-09 14:07:05

2018-05-30 15:33:00

打包工具Web

2022-10-24 09:42:31

2021-10-27 07:47:21

Vite 工具項目

2022-01-04 10:51:11

工具開源PDF

2024-09-02 00:00:01

2025-03-04 07:40:00

Python模塊開發

2022-04-14 11:26:09

瀏覽器擴展開源Firefox

2014-12-09 12:57:19

AnySDK

2022-07-17 06:48:39

Vite 3.0前端工具鏈

2015-07-20 11:39:33

Windows 10正式版

2021-05-11 09:20:38

Webpack工具模塊

2024-03-08 08:40:25

2009-12-15 17:53:18

Ruby標準庫

2024-08-22 14:47:50

開源Linux網絡抓包工具

2023-04-21 10:10:07

Vite 4.3前端

2019-11-28 13:58:47

推薦技術Python算法

2024-11-01 13:31:28

RustViteRsbuild

2021-09-28 08:08:32

Snowpack前端工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www日本高清视频 | 国产真实精品久久二三区 | h片在线播放 | 欧美一区二区久久 | 久久久91精品国产一区二区三区 | 亚洲第一福利视频 | 亚洲综合二区 | 亚洲免费一区 | 欧美电影大全 | 免费的黄色片子 | 国产精品a久久久久 | 中文字幕免费在线 | 国产美女在线免费观看 | 中文字幕乱码一区二区三区 | 午夜激情在线 | 中文字幕三区 | 免费黄色成人 | 成人一区二区三区在线观看 | 中国黄色在线视频 | 人成在线视频 | 久久久久国产精品 | caoporon| 亚洲+变态+欧美+另类+精品 | 国产精品精品3d动漫 | 久久亚洲一区二区 | 黄色网址av | 精品久久久久久中文字幕 | 91高清视频在线观看 | 成人午夜av | www.国产精品 | 日韩精品一区二区三区中文在线 | 日日做夜夜爽毛片麻豆 | 欧美精品91| 精品久 | 99热热99 | 久久久精| 亚洲天堂久久 | 成人精品视频99在线观看免费 | 国产精品自拍啪啪 | 欧美久久视频 | 91精品国产91久久久久久丝袜 |