五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

前端架構(gòu)技術(shù)第四期(從零手寫Vue3響應(yīng)式模塊1)

2023-03-29 16:57 作者:前端開發(fā)程序猿  | 我要投稿

區(qū)別介紹

  • 源碼采用?monorepo?方式進行管理,將模塊拆分到package目錄中

  • Vue3?采用ts開發(fā),增強類型檢測。?Vue2?則采用flow

  • Vue3的性能優(yōu)化,支持tree-shaking, 不使用就不會被打包

  • Vue2?后期引入RFC , 使每個版本改動可控?rfcs

  • Vue3?劫持數(shù)據(jù)采用proxy?Vue2?劫持數(shù)據(jù)采用defineProperty。?defineProperty有性能問題和缺陷

  • Vue3中對模板編譯進行了優(yōu)化,編譯時 生成了Block tree,可以對子節(jié)點的動態(tài)節(jié)點進行收集,可以減少比較,并且采用了?patchFlag?標記動態(tài)節(jié)點 jsx

  • Vue3?采用compositionApi?進行組織功能,解決反復(fù)橫跳,優(yōu)化復(fù)用邏輯 (mixin帶來的數(shù)據(jù)來源不清晰、命名沖突等), 相比optionsApi?類型推斷更加方便

  • 增加了?Fragment,Teleport,Suspense組件

一.Vue3架構(gòu)分析

#1.Monorepo介紹

Monorepo?是管理項目代碼的一個方式,指在一個項目倉庫(repo)中管理多個模塊/包(package)

  • 一個倉庫可維護多個模塊,不用到處找倉庫

  • 方便版本管理和依賴管理,模塊之間的引用,調(diào)用都非常方便

缺點:倉庫體積會變大。

#2.Vue3項目結(jié)構(gòu)

  • reactivity:響應(yīng)式系統(tǒng)

  • runtime-core:與平臺無關(guān)的運行時核心 (可以創(chuàng)建針對特定平臺的運行時 - 自定義渲染器)

  • runtime-dom: 針對瀏覽器的運行時。包括DOM API,屬性,事件處理等

  • runtime-test:用于測試

  • server-renderer:用于服務(wù)器端渲染

  • compiler-core:與平臺無關(guān)的編譯器核心

  • compiler-dom: 針對瀏覽器的編譯模塊

  • compiler-ssr: 針對服務(wù)端渲染的編譯模塊

  • compiler-sfc: 針對單文件解析

  • size-check:用來測試代碼體積

  • template-explorer:用于調(diào)試編譯器輸出的開發(fā)工具

  • shared:多個包之間共享的內(nèi)容

  • vue:完整版本,包括運行時和編譯器

3.安裝依賴

4.workspace配置

目錄結(jié)構(gòu)配置

配置模塊名稱及打包選項

創(chuàng)建軟鏈yarn install

二.構(gòu)建環(huán)境搭建

1.對packages下模塊進行打包

scripts/build.js

2.rollup配置

rollup.config.js

3.開發(fā)環(huán)境打包


前端架構(gòu)技術(shù)第四期(從零手寫Vue3響應(yīng)式模塊1)的評論 (共 條)

分享到微博請遵守國家法律
沿河| 阿图什市| 朝阳区| 新蔡县| 株洲县| 嘉兴市| 永年县| 凤凰县| 家居| 武夷山市| 罗江县| 白山市| 阳新县| 蒲城县| 五台县| 宁明县| 延长县| 内丘县| 博野县| 长岭县| 蚌埠市| 安乡县| 紫阳县| 汽车| 神池县| 南宁市| 花莲县| 河北区| 正蓝旗| 辽阳县| 平湖市| 大冶市| 隆子县| 泸水县| 镇远县| 奉节县| 新丰县| 周宁县| 社旗县| 汶上县| 南汇区|