自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開(kāi)發(fā) 前端
總感覺(jué)挺麻煩的,所以在想:有沒(méi)有辦法,只需要組件庫(kù)升級(jí),而項(xiàng)目并不需要去更新依賴包呢,甚至可以做到項(xiàng)目不需要重新上線,就能獲取最新的組件功能?

這幾天在想一個(gè)前端團(tuán)隊(duì)的現(xiàn)狀,現(xiàn)在一個(gè)前端團(tuán)隊(duì)肯定不止一個(gè)項(xiàng)目,而這些前端項(xiàng)目可能都會(huì)有一些共用的組件。

所以很多公司內(nèi)部開(kāi)發(fā)了內(nèi)部的組件庫(kù),以供各個(gè)項(xiàng)目去使用,比如下圖,各個(gè)項(xiàng)目共同使用同一個(gè)組件庫(kù)。

圖片圖片

當(dāng)組件庫(kù)升級(jí)的時(shí)候,各個(gè)項(xiàng)目想要使用最新的組件功能,也得跟著升級(jí)依賴組件庫(kù)的版本號(hào),并且重新將項(xiàng)目上線,就比如 1.0 -> 2.0。

圖片圖片

總感覺(jué)挺麻煩的,所以在想:有沒(méi)有辦法,只需要組件庫(kù)升級(jí),而項(xiàng)目并不需要去更新依賴包呢,甚至可以做到項(xiàng)目不需要重新上線,就能獲取最新的組件功能?

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

剛剛說(shuō)到當(dāng)組件庫(kù)升級(jí)的時(shí)候,項(xiàng)目的依賴版本也得跟著升級(jí),那是因?yàn)槲覀冺?xiàng)目將組件庫(kù)當(dāng)成了依賴包,放在node_modules 中。

那么如果我們可不可以別把組件庫(kù)當(dāng)依賴包呢?也就是我們并不需要去安裝它們,就能使用它們~這樣的話組件庫(kù)升級(jí),我們就不用也跟著升級(jí)依賴包了~

我們?nèi)サ袅?nbsp;node_modules 這一層,這樣組件庫(kù)升級(jí),我們項(xiàng)目其實(shí)也可以做到不去關(guān)心版本號(hào)。

圖片圖片

不安裝,怎么使用組件庫(kù)?

但是如果我們不安裝,該怎么去使用組件庫(kù)呢?其實(shí)是有辦法的: 通過(guò)HTTP網(wǎng)絡(luò)請(qǐng)求去請(qǐng)求組件庫(kù)代碼,解析代碼后進(jìn)行渲染。

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

這也就是 Vue 的 遠(yuǎn)程加載組件。

圖片圖片

實(shí)踐

接下來(lái)實(shí)踐一下遠(yuǎn)程加載組件。

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

先用Express搭建一個(gè)簡(jiǎn)單的靜態(tài)服務(wù),并放置一些組件:

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

圖片圖片

首先看看 index.js 的代碼,用來(lái)作為靜態(tài)服務(wù)的入口。

圖片圖片

再分別看看RemoteComp-A.js、RemoteComp-B.js 的代碼,分別是兩個(gè)組件的代碼。

圖片圖片

圖片圖片

接著在終端輸入:

node index.js

即可啟動(dòng)服務(wù),現(xiàn)在可以在網(wǎng)頁(yè)中看能不能訪問(wèn)到組件代碼,如果可以說(shuō)明服務(wù)啟動(dòng)成功了!

圖片圖片

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

接著需要在項(xiàng)目中去通過(guò)網(wǎng)絡(luò)請(qǐng)求獲取組件代碼,并進(jìn)行解析渲染:

1、通過(guò)fetch去請(qǐng)求對(duì)應(yīng)的組件代碼

2、使用new Function進(jìn)行代碼執(zhí)行獲取

3、傳入 component 的 is 進(jìn)行渲染

圖片圖片

最終能達(dá)到加載遠(yuǎn)程組件的效果~

圖片圖片

責(zé)任編輯:武曉燕 來(lái)源: 前端之神
相關(guān)推薦

2020-07-29 19:40:36

Vue 3.0Vue前端

2022-05-09 11:19:12

CSS函數(shù)開(kāi)源

2022-02-08 15:55:00

Vue組件庫(kù)Vue Demi

2023-10-27 14:25:26

組件庫(kù)無(wú)限可能性

2014-09-30 16:03:35

iStick容量iPhone

2023-03-23 11:43:16

2022-09-16 07:46:10

組件庫(kù)設(shè)計(jì)結(jié)構(gòu)

2018-05-30 14:36:48

3D打印醫(yī)療器官

2020-11-09 09:23:43

Vue組織架構(gòu)

2022-03-29 12:01:57

Vue 組件js組件工具集

2019-12-31 13:12:14

5G智能手機(jī)操作系統(tǒng)

2023-03-29 08:52:58

視覺(jué)Vue組件庫(kù)

2023-04-18 09:17:40

父子組件Vue

2013-07-30 11:26:30

開(kāi)發(fā)者Android 4.3root

2024-07-02 12:16:30

2023-08-07 08:52:53

Vue組件Props 命名

2024-01-11 10:22:20

AI代碼生成工具前端

2023-11-18 11:37:34

Blender開(kāi)源

2012-03-01 09:51:12

ASO移動(dòng)應(yīng)用新趨勢(shì)

2017-12-12 23:47:40

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)