精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

做好這三個關鍵點就可以更好的實現前端業務組件庫

新聞 前端
對于前端同學來說, 業務組件庫肯定不陌生,很多前端團隊都會選擇建設業務組件庫來解決

 [[392764]]

對于前端同學來說, 業務組件庫肯定不陌生,很多前端團隊都會選擇建設業務組件庫來解決

  1. 業務組件跨項目復用的問題

  2. 同時統一代碼實現,統一代碼質量

從而提高業務的開發效率。但是我發現埋在明確需求之后,開始調研技術方案時,很多同學并不清楚要調研哪些技術點,怎么找到某個具體方向的解決方案,找到方案之后都需要試哪些case, 以及怎么把這些方案集成在一起等等。

其實不用想那么復雜,你只需要按照以下三個技術實現的關鍵點搞定就可以了。

  • 第一步:"搭地基"--業務組件庫的整體架構設計

  • 第二步:"建主體結構"--業務組件庫的基礎技術設計

  • 第三步:"粉刷外立面"-- 業務組件庫的對外文檔服務

你一定覺得這三個點還是太宏觀了,不好理解,所以接下來,我就分別介紹這三個關鍵點到底是什么。你可以參考這些關鍵點來進行相關技術調研

一. 業務組件庫的整體架構設計

對于業務組件庫的整體架構設計而言, 核心問題是業務組件庫的代碼時如何來組織和管理 。

首先,我們把代碼倉庫建好。業界一般會把同一類組件庫用單個倉庫的形式維護,并且把組件開發成NPM包的形式,這里的重點是,**你要考慮把所有的組件打包成一個大的NPM包,還是分割是一個個獨立的小NPM包 。**不要小看這個問題, 這兩種選擇會使倉庫的目錄結構有不小的差異,進一步又會影響到后面組件的開發,構建,發布,實現的技術設計

單包架構

是什么

如果你選擇把所有的組件看成一個整體,一起打包發布。這叫做 單包架構 。單個倉庫,單個包,統一維護統一管理。比如Antd

優點

它最大的優點是可以通過相對路徑實現組件與組件的引用,公共代碼之間的引用。

缺點

缺點就是組件完全耦合在了一起,必須把它作為一個整體統一發包。就算只改一個組件的一個非常小的功能,都要對整個包發布更新。

比如說 Antd,它就是作為一個整體的包來盡進行管理的。選擇使用單包架構的話,那么你就必須提供按需加載的能力,以降低使用者的成本,你可以考慮支持 ES Modules 的 Tree shaking 的功能來實現按需加載的能力。當然你也可以選擇另外一種方案,叫做"多包架構"

多包架構

是什么

每個組件彼此獨立,單獨打包發布,單個倉庫多個包,統一維護單獨管理。

  1. ├── lerna.json 
  2. ├── package.json 
  3. └── packages/ # 這里將存放所有子 repo 目錄 
  4.    ├── project_1/  # 組件1的包 
  5.    │   ├── index.js 
  6.    │   ├── node_modules/ 
  7.    │   └── package.json 
  8.    ├── project_2/   # 組件2的包 
  9.    │   ├── index.js 
  10.    │   ├── node_module/ 
  11.    │   └── package.json 
  12.    ... 
  13.  
  14. 制代碼 

優點

它最大的優勢是組件發布靈活,并且天然支持按需使用,

缺點

缺點就是組件與組件之間物理隔離。對于相互依賴,公共代碼抽象等場景,就只能通過NPM包引用的方式來實現。

--

在這些場景下的開發統一發布,相對來說沒那么方便,多包架構在業界稱之為 "Monorepo".

 


 

在前端領域,我們一般使用第三方庫 Lerna 來維護這樣的架構,Lerna針對包之間有依賴的場景做了一些特殊優化,開發模式下,它會把所有存在依賴關系的包通過軟鏈的形式連在一起,就可以很方便的本地開發聯調。所以這就要求你考慮清楚,

  • 組件庫之間的組件是否有相互依賴的情況,如果有這種情況,就可以通過Lerna來進行處理

  • 如果組件之間依賴特別驗證,也可選擇"單包架構"

二. 業務組件庫的基礎技術能力

當你確定了整體架構之后,就可以開始具體的功能點實現了。業務組件庫要求整體框架提供五點基礎的技術能力

1. 構建能力

這需要我們可以提供構建產物的能力,這里有很多選擇,可以選擇Webpack,Rollup Glup Grunt..... 構建組件庫推薦Rollup, 構建項目推薦Webpack. 這里需要特別注意產物的格式要求,像我們常用的cjs, esm,umd格式。

  • 比如說如果你的組件考慮支持 node環境, 像需要支持SSR, 你就需要打包出 cjs格式的代碼

  • 如果你的組件考慮支持 <script > 標簽引用,, 你就需要打包出 umd格式的代碼

然后就需要在對應的構建工具里進行配置

除此之外,還有幾個非常容易遺漏的點,比如說

  • 組件庫Bable的配置是否與項目中Babel的配置重復

  • 依賴包是打包到產物中,還是使用項目中的依賴包。如:lodash, moment...

  • 依賴包的樣式是否打包到產物中以及Polyfill的配置(這里以后再開一篇詳細說明吧:joy:)

2. 文檔

你需要提供一個可以實時運行的文檔服務。包括支持靜態內容的展示,以及可以查看源碼的實施運行效果,這方面有很多優秀的開源庫,比如 StoryBook&Styleguidist,Docz

這里你需要注意一個典型的錯誤行為,那就是調研的時候,只調研一些基礎的功能就開始做選擇,這樣很容易給后面挖坑,你需要考慮盡可能多的情況。比如

  1. 有內部狀態的代碼示例能不能支持,例如彈窗類的組件,就需要在示例中做顯示狀態的切換

  2. 如果考慮放移動端組件,那么展示效果能不能支持,一般來說,移動端的示例,應該是通過iframe的形式運行在一個獨立的頁面里面。比如說,fiexd定位的移動端組件是很常見的一種形式,如果不是iframe,fiexd定位的元素會鋪滿整個文檔網頁

  1. 文檔網站的依賴包跟組件的依賴包會不會沖突。假設兩個依賴包版本不一致的時候,需要實現一個樣式的隔離

3. 本地服務

業界一般都是用文檔服務來當本地服務的。啟動本地的文檔服務就可以查看運行的效果。這里你需要關注的是,本地服務的使用體驗好不好,比如

  • 說有沒有熱更新

  • 編譯速度夠不夠快

還有一個比較特別的點,有時候我們會在本地執行build構建。構建的產物跟本地生成的臨時產物要能夠做到相互隔離,互不影響

4. 質量保證

一方面我們需要提供統一的eslint功能。保證基礎的實現風格和質量

另一方面可以考慮引入單元測試的能力,業界也有很對優秀的單測框架,如Jest ,Karma

5. 數據統計

需要統計組件被多少項目使用,具體在哪個地方使用。這個能力的主要目的是提供統計數據以及了解改動的參考影響范圍。

你可以通過

  • 組件內增加埋點 來進行統計。埋點方案會有一個時效性的限制,在你統計的時間周期內,如果說該組件的功能沒有用戶用到的這種情況是統計不到的

  • 定時掃描分析所有代碼倉庫依賴來進行統計。可以搜索關鍵詞 dependency tree

除了上訴幾點能力以外,業務組件庫還要求整體框架提供統一換膚的能力,快速創建新標準組件的能力,批量處理組件的能力,以及預置命名等等

像發包的命令,自測的命令,自動生成ChangeLog等等這樣的命令。

三. 業務組件庫的對外文檔服務

當基礎的能力都準備好之后,我們最后再關注一下對外的一個輸出。也就是我們的文檔網站。這里我們需要把它當成一個線上服務來搭建,這里需要考慮一個具體的架構是什么

  1. 可能是純靜態資源

  2. 配到的CI怎么搭建

以上就是業務組件庫技術實現的幾個關鍵點,下面進行一個思維導圖的總結

 


組件庫技術實現的關鍵點

 

 

責任編輯:張燕妮 來源: 高級前端進階
相關推薦

2018-07-19 06:07:22

物聯網安全物聯網IOT

2022-02-28 17:57:44

云遷移云計算

2022-02-28 22:58:04

云遷移IT開發

2010-03-11 12:42:03

增強無線網絡信號

2017-11-02 13:15:18

Linux

2009-03-06 09:42:16

性能索引

2020-07-06 10:55:38

CIO首席信息官IT

2022-07-25 17:37:05

數字化轉型資產信息化

2022-02-23 15:17:12

SQL數據集數據分析

2022-07-17 15:56:33

數字化轉型工具IT

2018-06-01 22:19:44

IT云計算云遷移

2020-04-16 14:53:39

JavaScript開發

2021-02-23 07:01:24

js小游戲技術

2020-11-17 12:54:56

Python代碼開發

2020-10-20 06:45:48

編程高并發

2017-01-06 10:07:39

Linuxwindowsatime

2013-08-21 11:11:35

大數據

2018-05-28 14:38:44

PHPPython應用

2023-12-28 07:39:58

C#項目框架

2022-10-17 07:16:08

SQL機器學習AI
點贊
收藏

51CTO技術棧公眾號

日韩精品中文字幕在线不卡尤物| 国产视频一区在线播放| 色综合天天狠天天透天天伊人 | 第一av在线| 91色婷婷久久久久合中文| 国产精自产拍久久久久久| 久久午夜鲁丝片午夜精品| 台湾佬综合网| 91精品国产免费| 日韩欧美精品在线观看视频| 欧美三级黄网| www日韩大片| 亚洲影院污污.| 久久久黄色大片| 欧美日韩一区自拍| 主播福利视频一区| 国产一级伦理片| 日韩欧美一级| 欧美男同性恋视频网站| 欧美深夜福利视频| 91蜜桃在线视频| 欧美国产日韩一二三区| 国产日韩欧美一区二区| av在线亚洲天堂| 人人狠狠综合久久亚洲| 欧美一性一乱一交一视频| 男女性高潮免费网站| 狠狠做深爱婷婷综合一区| 亚洲成人激情图| 无套内谢丰满少妇中文字幕| 日本美女久久| 欧美丝袜一区二区三区| 欧美又粗又长又爽做受| 成人在线观看亚洲| 国产精品初高中害羞小美女文| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲男人天堂久久| 国产麻豆一精品一av一免费 | 在线观看 亚洲| 亚洲国产99| 欧美国产一区二区三区| 国产精品免费人成网站酒店| 成人羞羞网站入口| 在线a欧美视频| 女人黄色一级片| 国产va免费精品观看精品视频| 亚洲精品久久久久久久久久久久久| 欧美体内she精高潮| 精品一区二区三区四区五区| 欧美视频在线播放| 国产又黄又猛的视频| 日本电影久久久| 欧美精品丝袜中出| 特级西西444www| 美女精品视频在线| 日韩欧美国产午夜精品| 中文字幕人妻无码系列第三区| 亚洲一区av| 日韩免费一区二区三区在线播放| 樱花草www在线| 日本一区精品视频| 欧美tickling挠脚心丨vk| 91大神免费观看| 91精品日本| 日韩av资源在线播放| jlzzjizz在线播放观看| 九九在线精品| 最近免费中文字幕视频2019| 99鲁鲁精品一区二区三区| 欧美一区二区三区另类 | 免费电影日韩网站| 在线看国产一区| 国内国产精品天干天干| 中文字幕区一区二区三| 亚洲国产欧美在线成人app | 亚洲欧美偷拍三级| 日本阿v视频在线观看| 91桃色在线| 色婷婷综合久久久| 亚洲精品第三页| 1769国产精品视频| 日韩精品在线免费观看视频| 亚洲午夜久久久久久久国产| 91精品国产自产在线观看永久∴ | 四虎成人精品永久免费av| 国产精品五区| 91精品一区二区| 五月婷婷在线播放| 国产精品麻豆视频| 国产一区二区三区乱码| 日本在线中文字幕一区二区三区| 91精品啪在线观看国产60岁| av在线播放网址| 成人综合久久| 久久69精品久久久久久久电影好| 一级片中文字幕| 精品一区二区在线看| 精品国产一区二区三区免费| 9i精品一二三区| 精品久久久久久久久久久久久| 久久婷五月综合| 噜噜噜狠狠夜夜躁精品仙踪林| 最近2019年好看中文字幕视频| 国产一级视频在线| 蜜臀久久久久久久| 精品中文字幕一区| 怡红院av在线| 欧美日韩视频在线观看一区二区三区| 99久久久无码国产精品性波多 | 久久国产精品美女| 亚洲色图av在线| 九热这里只有精品| 久久99精品国产麻豆婷婷| 久久久一本精品99久久精品66| 国产在线高清视频| 在线一区二区三区| 中文字幕在线免费看线人| 欧美一区视频| 国产在线精品播放| а天堂8中文最新版在线官网| 亚洲成av人片在www色猫咪| 网站在线你懂的| 日韩国产在线| 国产ts一区二区| 天天操天天插天天射| 亚洲综合免费观看高清在线观看| 男人添女人下面免费视频| 竹菊久久久久久久| 5566日本婷婷色中文字幕97| 精品人妻无码一区二区| 中文字幕一区二区不卡| 国产视频手机在线播放| 久久成人av| 日韩免费观看在线观看| 日本大片在线观看| 精品国产乱码久久久久酒店 | 精品久久97| 欧美精品电影免费在线观看| 国产女人18毛片水真多| 中文字幕日韩欧美一区二区三区| 国产喷水theporn| av一区二区高清| 国产精品白丝jk喷水视频一区| 四虎精品在永久在线观看| 精品福利樱桃av导航| 国产性生活毛片| 亚洲精品护士| 久久久精品国产一区二区三区| 51精品在线| 亚洲精品国产精品国自产观看浪潮 | 色多多视频在线播放| 九九久久婷婷| 国产精品视频1区| 麻豆网站在线看| 欧美一区二区在线播放| 久久久久久久蜜桃| 不卡一卡二卡三乱码免费网站| 草草视频在线免费观看| 久久精品凹凸全集| 日本在线精品视频| www.黄在线观看| 欧美日韩视频在线第一区 | 69久久久久| 欧美日韩免费不卡视频一区二区三区 | 九九热hot精品视频在线播放| 久久久女人电视剧免费播放下载| 成人毛片在线精品国产| 欧美日韩日本国产| 中文字幕av久久爽一区| 精品在线播放免费| 97超碰在线人人| 国产在线观看91一区二区三区| 国产精品欧美一区二区三区奶水| 蜜桃视频网站在线观看| 精品第一国产综合精品aⅴ| 天天综合天天干| 国产精品国产自产拍在线| 在线观看你懂的视频| 国产一区二区你懂的| 青娱乐一区二区| 久久免费影院| 国自在线精品视频| 岛国在线视频| 日韩欧美国产高清| 欧美一区二区三区网站| 综合电影一区二区三区| 荫蒂被男人添免费视频| 免费观看在线综合色| 激情成人开心网| 神马电影久久| 亚洲一区二区久久久久久| 国内激情视频在线观看| 日韩在线播放av| 天堂网www中文在线| 91精品国产麻豆| 特级毛片www| 中文字幕欧美三区| 黑森林av导航| 狠狠色丁香久久婷婷综合_中| 日韩免费一级视频| 我不卡手机影院| 日本一区二区三区四区高清视频| 欧美经典影片视频网站| 国产精品吊钟奶在线| 丰满的护士2在线观看高清| 色偷偷亚洲男人天堂| 无码国产精品高潮久久99| 欧美精品aⅴ在线视频| 日韩不卡在线播放| 亚洲成人资源在线| 日韩三级久久久| 久久久精品免费观看| 精品无码人妻少妇久久久久久| 久久99久国产精品黄毛片色诱| 男女午夜激情视频| 在线高清一区| 黄色网zhan| 日韩一区二区中文| 欧美日韩亚洲在线| 亚洲a级精品| 国模精品一区二区三区| 成人乱码手机视频| 国产精品视频公开费视频| 超碰国产一区| 91精品国产高清久久久久久久久 | 国产91对白在线播放| 欧洲黄色一区| 免费不卡在线观看av| 免费黄色网址在线观看| 一区二区欧美日韩视频| 免费黄网站在线观看| 日韩精品在线观| 婷婷开心激情网| 亚洲国产第一页| 少妇一区二区三区四区| 亚洲爱爱爱爱爱| 成人毛片在线免费观看| 精品久久久久一区二区国产| www久久久com| 日韩午夜三级在线| 精品国产伦一区二区三| 日韩午夜精品电影| 亚洲AV无码精品国产| 日韩午夜av一区| 亚洲第一成年人网站| 欧美zozozo| 免费观看a视频| 精品国产露脸精彩对白| 成人免费一级视频| 亚洲高清不卡av| 四虎在线免费观看| 一区二区三欧美| 午夜国产福利在线| 久久亚洲春色中文字幕| 超碰在线网址| 国a精品视频大全| 老色鬼在线视频| 日韩美女激情视频| 久久三级毛片| 成人在线免费网站| 日韩成人av在线资源| 日韩av高清在线播放| 国产精品成人a在线观看| 男女激烈动态图| 亚洲国产精品一区制服丝袜| 男人操女人免费软件| 免费视频一区| 17c国产在线| 国产成a人亚洲| 亚洲一级中文字幕| 中文字幕欧美一区| 亚洲精品在线观看av| 一本到三区不卡视频| 亚洲天堂网视频| 精品欧美久久久| 国产在线电影| 久久天天躁狠狠躁夜夜躁2014| bbw在线视频| 国产精品视频免费在线| 66精品视频在线观看| 久久综合九色综合久99| 小处雏高清一区二区三区| 欧美一级视频在线播放| 美女视频黄a大片欧美| 在线成人精品视频| 国产午夜精品久久久久久久| 小泽玛利亚一区二区免费| 午夜伦理一区二区| 在线视频免费观看一区| 精品成人一区二区| 在线观看美女网站大全免费| 欧美肥婆姓交大片| 久久天堂av| 国产美女在线精品免费观看| 成人aaaa| 999在线观看视频| 老司机精品视频在线| 精品一区二区视频在线观看| 国产精品日日摸夜夜摸av| 成人毛片18女人毛片| 欧美疯狂性受xxxxx喷水图片| 亚洲aⅴ在线观看| 超碰91人人草人人干| 日韩美女在线看免费观看| 成人在线观看av| 91精品啪在线观看国产18| 欧美激情成人网| www.亚洲激情.com| 日韩精品一区二区亚洲av性色| 色婷婷精品大视频在线蜜桃视频 | 成人av在线资源网站| 国内毛片毛片毛片毛片毛片| 欧美日韩一区免费| 女人18毛片一区二区三区| 久久深夜福利免费观看| gogo亚洲高清大胆美女人体| 国产日韩精品久久| 欧美日本不卡高清| 日本精品一区在线| 欧美国产日本视频| 伊人中文字幕在线观看| 日韩精品在线免费观看| h片视频在线观看| 91一区二区三区| 欧美黄在线观看| 日韩av福利在线观看| 亚洲色图视频网| 国产又粗又猛又爽| 日韩中文字幕在线看| 电影在线观看一区二区| 日本一区不卡| 久久深夜福利| 99久久久久久久久久| 欧美色xxxx| 欧美孕妇孕交| 欧美有码在线观看| 一区二区美女| 国产日韩成人内射视频| 国产亚洲一区二区在线观看| 久久久精品免费看| 亚洲美女av电影| 三上悠亚亚洲一区| 天堂精品一区二区三区| 日韩国产成人精品| 欧美色图17p| 7777精品伊人久久久大香线蕉完整版 | 中文字幕乱码久久午夜不卡| 亚洲av人无码激艳猛片服务器| 亚洲免费高清视频| 日韩漫画puputoon| 亚洲一二三区在线| 国产一区中文字幕| 久久国产在线视频| 亚洲国产精彩中文乱码av| 蜜桃视频www网站在线观看| 久久综合中文色婷婷| 久久综合中文| 免费黄色激情视频| 欧美一区二区成人| www视频在线观看| 欧美日本亚洲| 久久99精品一区二区三区| 欧美成人一二三区| 日韩久久精品电影| 成人1区2区| 日本一二三区视频在线| 成人激情视频网站| 无码人妻精品一区二区蜜桃色欲| 中文字幕不卡在线视频极品| 精品99re| 亚洲自偷自拍熟女另类| 国产区在线观看成人精品| 国产精品久久久久久免费免熟| 欧美俄罗斯性视频| 欧美伦理影院| wwwww在线观看| 日韩欧美亚洲成人| 老司机av在线免费看| 国产综合欧美在线看| 日本不卡视频在线| 国产在线视频卡一卡二| 亚洲区一区二区| 国产亚洲高清在线观看| 日本免费黄视频| 最近日韩中文字幕| 日韩大胆人体| 99一区二区| 青椒成人免费视频| 日韩激情一区二区三区| 一本大道久久加勒比香蕉| 欧美一区一区| 538在线视频观看| 亚洲成人av在线电影| 日p在线观看| 欧美不卡三区| 国产.精品.日韩.另类.中文.在线.播放| 精品国产乱子伦| 久久久欧美一区二区| 久久综合国产| 欧洲一级黄色片|