91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于CMS的組件復用實踐

發布時間:2020-06-27 05:29:29 來源:網絡 閱讀:299 作者:個推 欄目:開發技術

目前前端項目大多基于Vue、React、Angular等框架來實現,這一類框架都有一個明顯的特點:基于模塊化以及組件化思維。所以,開發者在使用上述框架時,實際上是在寫一個一個的組件,并且組件與組件之間呈嵌套的形式。當一個項目中多次出現同一功能時,他們會選擇將其提取出來,并且放到components文件夾中,以達到復用的目的,但是這些復用都是基于同一項目的,所以,當寫另一個項目時,又要開始寫一些重復的代碼。

個推擁有多條業務線,在進行前端項目時總會遇到重復寫代碼的困境,所以,我們做了PCMS項目,主要為了解決跨項目之間的組件復用問題,其中的技術棧是基于Vue的,所以PCMS同時也是基于Vue項目實現的。

接下來我將基于自己在前端工作過程中的實踐,跟大家分享基于CMS的組件復用實踐。

想要實現跨項目之間的組件復用,需要解決以下問題,
1.組件與組件之間,組件與項目之間需要解耦
2.組件需要給出使用方法(文檔)
3.組件需要能夠獨立運行
4.組件需要有版本管理并且可以按需加載
5.需要一個工具把這些組件管理并且展示出來

在上述五大問題中,首先要解決組件與組件以及項目之間的解耦問題,為此,我們需要將組件內部和其它組件以及項目耦合的部分剔除,然后通過props傳入,為了方便區分這些props與普通props,我們把他們放到了一個名為ds的對象中 。通常,這些耦合部分會是一些API或VUEX調用或者前端路由操作等。

同時, 為了方便這些組件的編寫和維護,我們給組件制定了更加嚴格的約束,同時將這些符合約束的復用組件稱為“區塊”,意思是可以獨立于項目的一個功能區域。

在解耦過程中,我們發現這些區塊的代碼可以有一些重復部分,比如ds的一些優化和mock的注冊等,所以我們開發了一個vue插件。在項目使用區塊時,為了完成按需加載時的引用方式以及生產環境下Mock數據的剔除,我們又開發了一個webpack插件。

在具體實踐過程中,為了實現組件的復用,需要按照固定的結構去寫組件,還需要在項目中修改main.js和webpack配置工作,所以,我們開發了CLI工具和GUI工具來生成項目和組件基本文件,同時管理和調試組件。

使用了區塊的開發模式后,雖然開發流程與之前相比并沒有太大區別,但有效提升了開發的速度,同時還能將任務拆分得更細,對于團隊中的初學者來說,一個有使用文檔的業務組件更加容易被他們接受,對于業務的上手速度也更快。

本文根據個推高級前端開發工程師沈創在個推TechDay全國巡回沙龍廣州站的演講內容進行整理,略有刪減。
接下來,個推TechDay全國沙龍還將走進成都、杭州、上海、深圳幾大城市,邀請業內技術大咖跟大家一起交流學習,敬請期待!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

布尔津县| 平山县| 郎溪县| 东乡县| 武义县| 报价| 耒阳市| 诸暨市| 梁河县| 安远县| 历史| 青田县| 盐边县| 特克斯县| 上虞市| 县级市| 上杭县| 保靖县| 临澧县| 陆良县| 武定县| 灵台县| 嘉峪关市| 屯留县| 神池县| 揭东县| 松溪县| 汾西县| 安康市| 潞西市| 新干县| 科技| 肇庆市| 法库县| 轮台县| 梁山县| 东乌| 惠东县| 泽库县| 齐齐哈尔市| 钟山县|