日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Vue 組件管理的新趨勢(shì)!以后可能不再需要組件庫了?

來源: 責(zé)編: 時(shí)間:2024-07-19 16:34:43 188觀看
導(dǎo)讀這幾天在想一個(gè)前端團(tuán)隊(duì)的現(xiàn)狀,現(xiàn)在一個(gè)前端團(tuán)隊(duì)肯定不止一個(gè)項(xiàng)目,而這些前端項(xiàng)目可能都會(huì)有一些共用的組件。所以很多公司內(nèi)部開發(fā)了內(nèi)部的組件庫,以供各個(gè)項(xiàng)目去使用,比如下圖,各個(gè)項(xiàng)目共同使用同一個(gè)組件庫。圖片當(dāng)組件

這幾天在想一個(gè)前端團(tuán)隊(duì)的現(xiàn)狀,現(xiàn)在一個(gè)前端團(tuán)隊(duì)肯定不止一個(gè)項(xiàng)目,而這些前端項(xiàng)目可能都會(huì)有一些共用的組件。ECv28資訊網(wǎng)——每日最新資訊28at.com

所以很多公司內(nèi)部開發(fā)了內(nèi)部的組件庫,以供各個(gè)項(xiàng)目去使用,比如下圖,各個(gè)項(xiàng)目共同使用同一個(gè)組件庫。ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)組件庫升級(jí)的時(shí)候,各個(gè)項(xiàng)目想要使用最新的組件功能,也得跟著升級(jí)依賴組件庫的版本號(hào),并且重新將項(xiàng)目上線,就比如 1.0 -> 2.0。ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

總感覺挺麻煩的,所以在想:有沒有辦法,只需要組件庫升級(jí),而項(xiàng)目并不需要去更新依賴包呢,甚至可以做到項(xiàng)目不需要重新上線,就能獲取最新的組件功能?ECv28資訊網(wǎng)——每日最新資訊28at.com

別把組件庫當(dāng)依賴包?

剛剛說到當(dāng)組件庫升級(jí)的時(shí)候,項(xiàng)目的依賴版本也得跟著升級(jí),那是因?yàn)槲覀冺?xiàng)目將組件庫當(dāng)成了依賴包,放在node_modules 中。ECv28資訊網(wǎng)——每日最新資訊28at.com

那么如果我們可不可以別把組件庫當(dāng)依賴包呢?也就是我們并不需要去安裝它們,就能使用它們~這樣的話組件庫升級(jí),我們就不用也跟著升級(jí)依賴包了~ECv28資訊網(wǎng)——每日最新資訊28at.com

我們?nèi)サ袅?nbsp;node_modules 這一層,這樣組件庫升級(jí),我們項(xiàng)目其實(shí)也可以做到不去關(guān)心版本號(hào)。ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

不安裝,怎么使用組件庫?

但是如果我們不安裝,該怎么去使用組件庫呢?其實(shí)是有辦法的: 通過HTTP網(wǎng)絡(luò)請(qǐng)求去請(qǐng)求組件庫代碼,解析代碼后進(jìn)行渲染。ECv28資訊網(wǎng)——每日最新資訊28at.com

  • 1、將組件庫代碼放在一個(gè)靜態(tài)服務(wù)上
  • 2、項(xiàng)目中使用網(wǎng)絡(luò)去請(qǐng)求對(duì)應(yīng)的組件代碼
  • 3、解析代碼,并進(jìn)行渲染

這也就是 Vue 的 遠(yuǎn)程加載組件。ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

實(shí)踐

接下來實(shí)踐一下遠(yuǎn)程加載組件。ECv28資訊網(wǎng)——每日最新資訊28at.com

Express 搭建靜態(tài)服務(wù)

先用Express搭建一個(gè)簡(jiǎn)單的靜態(tài)服務(wù),并放置一些組件:ECv28資訊網(wǎng)——每日最新資訊28at.com

  • components目錄: 放置一些遠(yuǎn)程組件代碼
  • index: 靜態(tài)服務(wù)入口

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

首先看看 index.js 的代碼,用來作為靜態(tài)服務(wù)的入口。ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

再分別看看RemoteComp-A.js、RemoteComp-B.js 的代碼,分別是兩個(gè)組件的代碼。ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

接著在終端輸入:ECv28資訊網(wǎng)——每日最新資訊28at.com

node index.js

即可啟動(dòng)服務(wù),現(xiàn)在可以在網(wǎng)頁中看能不能訪問到組件代碼,如果可以說明服務(wù)啟動(dòng)成功了!ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

項(xiàng)目中遠(yuǎn)程加載組件

接著需要在項(xiàng)目中去通過網(wǎng)絡(luò)請(qǐng)求獲取組件代碼,并進(jìn)行解析渲染:ECv28資訊網(wǎng)——每日最新資訊28at.com

1、通過fetch去請(qǐng)求對(duì)應(yīng)的組件代碼ECv28資訊網(wǎng)——每日最新資訊28at.com

2、使用new Function進(jìn)行代碼執(zhí)行獲取ECv28資訊網(wǎng)——每日最新資訊28at.com

3、傳入 component 的 is 進(jìn)行渲染ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

最終能達(dá)到加載遠(yuǎn)程組件的效果~ECv28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片ECv28資訊網(wǎng)——每日最新資訊28at.com

ECv28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-101849-0.htmlVue 組件管理的新趨勢(shì)!以后可能不再需要組件庫了?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 云音樂服務(wù)端大規(guī)模自動(dòng)化升級(jí)實(shí)踐

下一篇: 阿里面試官:Redis的分布式鎖和Zookeeper的有啥區(qū)別?為啥要用它?

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 阳新县| 吴旗县| 保康县| 会泽县| 青州市| 枣庄市| 婺源县| 西宁市| 宁城县| 岑溪市| 贺兰县| 威海市| 东阳市| 铜鼓县| 原阳县| 万盛区| 博野县| 遂平县| 阳高县| 衡阳市| 民和| 治多县| 元谋县| 沅江市| 铁岭县| 汉寿县| 太谷县| 甘德县| 迭部县| 同德县| 汝州市| 韶山市| 凤阳县| 会泽县| 天镇县| 新巴尔虎左旗| 永新县| 城固县| 成武县| 东光县| 石狮市|