国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

esbuild 極速的JavaScript構(gòu)建打包工具

這篇具有很好參考價(jià)值的文章主要介紹了esbuild 極速的JavaScript構(gòu)建打包工具。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、esbuild 是使用go語(yǔ)言編寫的一個(gè)前端構(gòu)建工具

相對(duì)于nodeJs的構(gòu)建工具如webpack。go語(yǔ)言是純機(jī)器碼,沒有js的解釋過程;go新開了一個(gè)進(jìn)程多線程并行,而js是單線程串行化的,所以從開發(fā)語(yǔ)言層面來(lái)說就更快。當(dāng)nodejs還在解析打包程序的js的時(shí)候,go已經(jīng)在解析要構(gòu)建的js了。

2、esbuild內(nèi)置了部分的loader直接使用go語(yǔ)言編寫,可以直接使用

相對(duì)于nodeJs的構(gòu)建工具中相同功能的loader相比也更快。不同于webpack中l(wèi)oader都要配置添加。比如內(nèi)置了對(duì).js、.jsx、.ts、.tsx 、.css、.module.css 等的支持,其他文件類型則需要添加社區(qū)的loader或者手寫插件進(jìn)行處理,比如:less、sass、img、字體圖標(biāo)庫(kù)等。
esbuild的生態(tài)還不完善,很多插件其實(shí)只是包裝了開源的loader框架,本質(zhì)上還是用的js實(shí)現(xiàn)的,而且很多社區(qū)提供的插件都存在各種問題,需要自己實(shí)現(xiàn)插件,比如對(duì)css進(jìn)行瀏覽器兼容添加瀏覽器前綴等問題

3、esbuild的代碼分割很雞肋

代碼分割可以減小了初始加載時(shí)的文件體積,加速頁(yè)面加載時(shí)間;也能提高緩存利用率,節(jié)省帶寬成本;多個(gè)小塊的代碼可以并行下載,提高整體加載效率。而esbuild的代碼分割,只支持esm 格式,對(duì)瀏覽器版本有限制;能對(duì)動(dòng)態(tài) import 的內(nèi)容或多入口同時(shí)用到的代碼進(jìn)行分割。無(wú)法做到像webpack一樣將使用到的某個(gè)庫(kù)單獨(dú)打包出去。

4、esbuild不支持HMR,需要借助插件實(shí)現(xiàn)。

5、esbuild目前的應(yīng)用

主要因?yàn)閑sbuild在代碼分割、css處理、不支持HMR、沒有提供AST能力(不能轉(zhuǎn)換成兼容低版本瀏覽器代碼)等問題,雖然它很快,但它不適合直接用于生產(chǎn)環(huán)境,而更適合作為一種偏底層的模塊打包工具,需要在它的基礎(chǔ)上二次封裝。在其他的構(gòu)建工具中,只是將esbuild應(yīng)用于開發(fā)環(huán)境,從而有更快的開發(fā)體驗(yàn),比如在vite中 ,開發(fā)環(huán)境下使用esbuild快速構(gòu)建,而構(gòu)建部署版本時(shí)則使用的是rollup;在umi/mfsu中,開發(fā)環(huán)境下使用esbuild-loader替代label,而構(gòu)建部署版本時(shí)則還是使用的babel。

總的來(lái)說,esbuild具有極快的構(gòu)建速度、可擴(kuò)展性、支持多種格式、不需要設(shè)置各種 loader,配置簡(jiǎn)單等。但還有很多不足:

  • 社區(qū)生態(tài)很弱,跟 Webpack 和 Vite 完全不在一個(gè)量級(jí)
  • 插件之間兼容性問題很嚴(yán)重
  • 代碼分割能力太弱,只能基于入口進(jìn)行分割
  • 對(duì)目標(biāo)瀏覽器版本有一定要求
  • 不支持 HMR
  • 為了保持結(jié)構(gòu)的一致性,沒有提供轉(zhuǎn)化的 AST 的 API
  • 由于工具和插件還是采用 JavaScript 編寫,存在解析速度相對(duì)較慢的可能性
  • 對(duì)于復(fù)雜場(chǎng)景,配置還是像 Webpack 一樣復(fù)雜
  • 可以在簡(jiǎn)單項(xiàng)目或類庫(kù)開發(fā)中使用
    總之,esbuild 不是像 Webpack 是一個(gè)大一統(tǒng)項(xiàng)目,提供完善的插件機(jī)制,而是在極度精簡(jiǎn)之后的打包工具,快才是它的追求目標(biāo)。

文章內(nèi)容只做學(xué)習(xí)記錄,內(nèi)容轉(zhuǎn)自別的大佬博客,主要參考:

Esbuild深度調(diào)研:吹了三年,能上生產(chǎn)了嗎?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-857525.html

到了這里,關(guān)于esbuild 極速的JavaScript構(gòu)建打包工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue中webpack配置compression-webpack-plugin打包壓縮和優(yōu)化,terser-webpack-plugin在構(gòu)建過程中對(duì) JavaScript 代碼進(jìn)行壓縮和優(yōu)化

    參考地址:https://v4.webpack.js.org/plugins/compression-webpack-plugin/ 一、compression-webpack-plugin的使用,安裝插件 二、在 webpack 配置中,require 或 import 引入 三、配置 參考地址:https://v4.webpack.js.org/plugins/terser-webpack-plugin/ 一、安裝terser-webpack-plugin 二、在 Webpack 配置中引入 三、配置

    2024年04月14日
    瀏覽(63)
  • HTML+JavaScript構(gòu)建一個(gè)將C/C++定義的ANSI字符串轉(zhuǎn)換為MASM32定義的DWUniCode字符串的工具

    HTML+JavaScript構(gòu)建一個(gè)將C/C++定義的ANSI字符串轉(zhuǎn)換為MASM32定義的DWUniCode字符串的工具

    公文一鍵排版系統(tǒng)基本完成,準(zhǔn)備繼續(xù)完善SysInfo,增加用戶帳戶信息,其中涉及到Win32_Account結(jié)構(gòu),其C++定義如下: ?由于WMI使用的是UniCode(WCHAR),所以我們?cè)贛ASM32中要將以上成員屬性AccountType、Caption……按DW UniCode(WCHAR)來(lái)定義,如下: 雖然MASM32 在QEDITOR 的 Conversions里提

    2024年02月13日
    瀏覽(17)
  • 構(gòu)建前端之光:JavaScript插件的研發(fā)藝術(shù)

    在前端開發(fā)的宇宙中,星星是網(wǎng)頁(yè),而照亮這個(gè)宇宙的,是我們前端開發(fā)者手中的JavaScript插件。插件就像樂高積木,可以將我們的代碼塊組裝成復(fù)雜而精美的頁(yè)面。本文將引導(dǎo)你走進(jìn)JavaScript插件的世界,探討如何開發(fā)、測(cè)試和發(fā)布你的插件。 讓我們從一個(gè)簡(jiǎn)單的例子開始。

    2024年02月10日
    瀏覽(25)
  • 【JavaScript】3.3 JavaScript工具和庫(kù)

    【JavaScript】3.3 JavaScript工具和庫(kù)

    在你的 JavaScript 開發(fā)之旅中,會(huì)遇到許多工具和庫(kù)。這些工具和庫(kù)可以幫助你更有效地編寫和管理代碼,提高工作效率。在本章節(jié)中,我們將探討一些常見的 JavaScript 工具和庫(kù),包括包管理器、構(gòu)建工具、測(cè)試框架和一些流行的庫(kù)。 包管理器用于管理項(xiàng)目的依賴。它可以幫助

    2024年02月05日
    瀏覽(41)
  • EZUIKit-JavaScript:構(gòu)建高效UI的利器

    項(xiàng)目地址:https://gitcode.com/Ezviz-OpenBiz/EZUIKit-JavaScript EZUIKit-JavaScript 是 Ezviz(??低暺煜轮悄芪锫?lián)網(wǎng)品牌)推出的一個(gè)輕量級(jí)、高性能的前端組件庫(kù),旨在幫助開發(fā)者快速構(gòu)建現(xiàn)代化的企業(yè)級(jí)Web應(yīng)用界面。它基于React框架設(shè)計(jì),提供了一套完整且易于定制的UI解決方案,讓開發(fā)

    2024年04月14日
    瀏覽(23)
  • uniapp打包H5出現(xiàn)Please enable JavaScript to continue

    uniapp打包H5出現(xiàn)Please enable JavaScript to continue

    這個(gè)問題困擾了我2天的時(shí)間。幾乎看完了所有的文檔。網(wǎng)上各種配置,各種說法,這里做一個(gè)統(tǒng)一的歸納匯總。 這里說明一下,調(diào)試是調(diào)試,打包是打包,誰(shuí)的問題,就看誰(shuí)。 調(diào)試的問題請(qǐng)看 uniapp跨域的問題 的文章,在我的列表里面找。 下面說,當(dāng)界面出現(xiàn)這個(gè)原因的解

    2024年02月09日
    瀏覽(25)
  • 初識(shí)esbuild、構(gòu)建vue3腳手架

    esbuild 非??焖俚?web 打包器,使用 go 語(yǔ)言編寫。 ?? 特點(diǎn): 無(wú)需緩存也能很快速的編譯打包。 內(nèi)置 js、css、ts、jsx 類型文件編譯。 支持 es6 和 commonjs 模塊。 可以編譯打包成 esm 模塊和 common JS 模塊 tree shaking 搖樹優(yōu)化、優(yōu)化資源大小、source-map 代碼映射 啟動(dòng)本地服務(wù),在監(jiān)聽

    2024年02月01日
    瀏覽(19)
  • 使用JavaScript實(shí)現(xiàn)復(fù)雜功能:動(dòng)態(tài)數(shù)據(jù)可視化的構(gòu)建

    在前端開發(fā)中,JavaScript無(wú)疑是最核心的技術(shù)之一。它能夠處理各種交互邏輯,實(shí)現(xiàn)復(fù)雜的功能。本文將通過一個(gè)動(dòng)態(tài)數(shù)據(jù)可視化的案例,展示如何使用JavaScript實(shí)現(xiàn)復(fù)雜功能。動(dòng)態(tài)數(shù)據(jù)可視化能夠?qū)⒋罅繑?shù)據(jù)以直觀、生動(dòng)的方式呈現(xiàn),幫助用戶更好地理解和分析數(shù)據(jù)。 準(zhǔn)備工

    2024年02月20日
    瀏覽(32)
  • 編程界的圣經(jīng):從Scheme到JavaScript構(gòu)建你的計(jì)算思維

    編程界的圣經(jīng):從Scheme到JavaScript構(gòu)建你的計(jì)算思維

    《計(jì)算機(jī)程序的構(gòu)造和解釋》(Structure and Interpretation of Computer Programs,簡(jiǎn)記為SICP)是MIT的基礎(chǔ)課教材,出版后引起計(jì)算機(jī)教育界的廣泛關(guān)注,對(duì)推動(dòng)全世界大學(xué)計(jì)算機(jī)科學(xué)技術(shù)教育的發(fā)展和成熟產(chǎn)生了很大影響。這本書的第1版于1984年出版,第2版于1996年出版,至今已被全世

    2024年03月12日
    瀏覽(14)
  • 前端構(gòu)建(打包)工具發(fā)展史

    前端構(gòu)建(打包)工具發(fā)展史

    大多同學(xué)的前端學(xué)習(xí)路線:三件套+框架+慢慢延伸到其他,在這個(gè)過程中,有一個(gè)詞出現(xiàn)的頻率很高:webpack 。 作為一個(gè)很出名的前端構(gòu)建工具我們?cè)诰W(wǎng)上隨便一搜,就會(huì)有各種教程:loader plugin entry吧啦吧啦。 但是為什么會(huì)有它,為什么我們離不開它呢? 如何理解“構(gòu)建工

    2024年02月14日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包