第十九屆D2終端技術大會:圍繞 Vite 的前端統一工具鏈_第1頁
第十九屆D2終端技術大會:圍繞 Vite 的前端統一工具鏈_第2頁
第十九屆D2終端技術大會:圍繞 Vite 的前端統一工具鏈_第3頁
第十九屆D2終端技術大會:圍繞 Vite 的前端統一工具鏈_第4頁
第十九屆D2終端技術大會:圍繞 Vite 的前端統一工具鏈_第5頁
已閱讀5頁,還剩73頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

圍繞Vite的前端統一工具鏈D22025●2020年作為實驗性質的原型開始開發●2022年開始被新興框架廣泛采用為底層構建工具●2024:更多基于Vite的方案:TanStackStart,One,Emb●2025:create-react-app被官方廢棄后的事實繼承者npm周下載量2200+萬次Feb2025Feb2024Feb20233.4M/weekStateofJS2024開發者問卷調查https://2024./en-US/awards/ViteVitestVite●全類別最受歡迎的庫/工具在生產環境中使用Vite或基于Vite的框架的MicrosoftGoogleWISAwoiabsredcit.Vite已經成為了但,Vite還并不完美。Vite底層依然依賴多個職責重復的第三方工具Vite依賴預依賴預打包SWC拆包/產物優化Vite依賴預依賴預打包SWC拆包/產物優化ViteApplicationsupportFrameworksupport依賴預打包拆包/產物優化SWCViteApplicationsupportFrameworksupport依賴預依賴預打包SWC拆包/產物優化ViteApplicationsupportFrameworksupport依賴預依賴預打包SWC拆包/產物優化ViteViteApplicationsupportFrameworksupport依依賴預打包SWC拆包/產物優化多次重復parse/transform/codegenUnbundledESM在請求數量巨大時的性能瓶頸ViteApplicationsupportFrameworksupport依賴預打包拆包/產物優化SWC●UnbundledESM在大型項目中的性能瓶頸Vite面對的問題其實是●Parsers:babel/acorn/esbuild/espree/flow/TS/swc/uglify-js●Transformer:babel/e●Testrunner:mocha/jasmine/tape/ava/jest●Linter:jshint/eslint/biome●Formatter:prettier/eslint●Monorepotools:nx/turborepo/rush/lerna/lage/wireit碎片化導致的種種問題●轉譯/模塊解析等行為不一致想解決這些問題,我們需要一個統一的工具鏈。2.統一需要共識,而Vite展現出了web生態中前基礎。ViteViteVite-native測試工具VitePlusVitePlusWIPWIPFormatterLinterFormatterbetaTransformerResolverMinfierOxcSemanticAnalysisSemanticAnalysis○成熟的JSbindings(napi-rs)○成熟的WebAssembly支持100%ECMA262speccompliance+TypeScript,JSXSemanticAnalysis+ControlFlowGraphLinter*400+ESLintcompatiblerulesIDEextensions/WIPlinterplugindesignincollabw/DenoteamNode.jscompatibleCJS+ESMpathresolutionFullycustomizableTransformerTypeScript,ReactJSX,ReactFastRefresh,isolatedDeclarationsDTS,Syntax-loweringMinifierBetaFormatterPrototype3xfasterthanSWC/5xfasterthanBiomeBenchmark50~100xfasterthanESLintandscaleswithnumberofCPUcoresBenchmark28xfasterthanwebpack/enhanced-resolveBenchmark最快的transformerTS/TSX:4xfasterthanSWC/40xfasterthanBabelReactRefresh:6xfasterthanSWC/70xfasterthanBabelIsolatedDeclarationsDTSEmit:20~45xfasterthantscBenchmarkOxc-TransformerMetricsUses24%lessmemorythanSWCand70%lessthanBabeloxc-transform*51MB@swc/core*@babel/core+presets172MB95%smallerthanSWC/90%smallerthanBabeloxc-transform*@swc/core*@babel/core+presets*comparingdarwin-arm64binariesCJS+ESMinterop/Sourcemaps/OutputformatsBasiccodesplitting/CLI/ConfigfilesupportBuilt-intransforms/NoderesolverTree-shaking/define/inject高級拆包選項/ModuleFederation80%+esbuild/Rollup測試覆蓋率Rollup/esbuild功能對齊Rollup/esbuild功能對齊Vite整合(unbundled)兼容性/穩定性調整VitefullbundlemodeHMR/IncrementalbuildBenchmark打包2.5k模塊●OXC圍繞arenaallocator做的內存管理優化●OXC研發中的0-costASTtransfer●基于0-costASTtransfer的輕量級JStransform/lintAPIWhat’sNext?ViteNow(v6)依賴預打包

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論