溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案

發(fā)布時(shí)間:2020-09-26 09:57:28 來(lái)源:腳本之家 閱讀:147 作者:CTlihaoliang 欄目:web開發(fā)

我們暫時(shí)給提取出來(lái)的腳手架取名叫vde-cli,通過(guò)vde-cli腳手架生成的組件庫(kù)工程目錄結(jié)構(gòu)如下:

Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案 

核心功能

組件庫(kù)

工程的packages文件夾就是用來(lái)存放組件庫(kù)里面的各種組件了,這里不需要通過(guò)手動(dòng)創(chuàng)建文件的方式創(chuàng)建組件,直接通過(guò)一條創(chuàng)建組件的命令完成。每個(gè)組件都有一個(gè)單獨(dú)的組件文件夾,組件文件夾下都至少包含"index.vue","example.vue","readme.md"這三個(gè)文件,這幾個(gè)文件都是通過(guò)創(chuàng)建組件傳遞的參數(shù)加指定的模板生成,創(chuàng)建組件的命令如下:

npm run generate <componentName> <componentTitle>

兩個(gè)參數(shù)分別是組件的名稱和后面用來(lái)在文檔和例子工程里顯示的導(dǎo)航名稱。

組件庫(kù)的對(duì)外主文件是工程的src/index.js,只要是通過(guò)上面的命令創(chuàng)建的組件,這個(gè)文件都會(huì)自動(dòng)更新(省去你手工更新的時(shí)間)

Doc文檔工程

Doc文檔工程就是用來(lái)展示你組件文檔的一個(gè)小型單頁(yè)面系統(tǒng)。組件的文檔就是存放在每個(gè)組件文件夾下的readme.md文件,我們通過(guò)vue-markdown-loader去解析這個(gè)文件變成一個(gè)vue組件也頁(yè)面中顯示。在你通過(guò)上面指令創(chuàng)建組件的時(shí)候,會(huì)自動(dòng)更新Doc文檔工程的所有依賴組件的部分(不需要任何手工操作)

Example例子工程

Example例子工程跟Doc文檔工程類似,用來(lái)展示你組件的例子的小型單頁(yè)面系統(tǒng),組件的例子就是存放在每個(gè)組件文件夾下面的example.vue文件。在通過(guò)指令創(chuàng)建組件的完畢,就可以在該文件里測(cè)試你寫的組件了。

上面的文檔工程和例子工程分別通過(guò)webpack-dev-sever起了一個(gè)對(duì)應(yīng)的服務(wù),添加組件和修改組件文件下的文件信息都會(huì)自動(dòng)刷新這兩個(gè)應(yīng)用。

用一張圖來(lái)表示整個(gè)大工程的流程圖如下:

Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案 

主要實(shí)現(xiàn)方式

上面已經(jīng)介紹了整個(gè)大工程其實(shí)是由組件庫(kù)、文檔工程和例子工程組成的,當(dāng)然最核心的東西還是組件了,所以一切還需要從創(chuàng)建組件開始說(shuō)起:

所有的組件都存放在大工程的packages里面,也就是說(shuō)packages是所有組件存放的根目錄(跟組件配置信息相關(guān))。 首先需要說(shuō)明的是,每個(gè)組件文件夾都至少包含組件主文件(index.vue)、組件例子文件(example.vue)、組件文檔文件(readme.md)這三個(gè)文件。每個(gè)組件所包含的這三個(gè)文件又是分別通過(guò)一個(gè)對(duì)應(yīng)的模板文件生成,這三個(gè)模板格式可以根據(jù)自己的需求自定義,大致類似于:

Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案 Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案 Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案

通過(guò)創(chuàng)建組件的命令傳遞兩個(gè)參數(shù),一個(gè)代表組件的名稱(創(chuàng)建組件的文件夾名稱),另外一個(gè)是組件的標(biāo)題(用于文檔工程和例子工程的導(dǎo)航名稱顯示)。有了這兩個(gè)參數(shù),我們就可以結(jié)合組件的模板文件生成對(duì)應(yīng)的組件,然后將這些組件信息寫入gen/route.json里面,因?yàn)槲臋n工程和例子工程都非常依賴這些信息。 組件創(chuàng)建完畢有一個(gè)很重要的工作就是自動(dòng)往文檔工程里面注冊(cè)新的組件信息(docs/main.js)和更新組件庫(kù)的對(duì)外主文件(src/index.js),這兩個(gè)文件也分別是通過(guò)模板生成的,模板格式分別如下:

Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案 Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案

使用

只需要四條命令就能開啟一個(gè)自動(dòng)化組件工程了:

1、全局安裝vde-cli模塊

npm install -g vde-cli

2、初始化工程

$ vde init <project-name>

3、安裝所需要模塊

$ npm install

4、啟動(dòng)項(xiàng)目

$ npm run start

然后整個(gè)工程就能運(yùn)行起來(lái)了,應(yīng)用的時(shí)候可以根據(jù)實(shí)際需求修改組件相關(guān)的模板和加入自己的組件庫(kù)的其它配置信息就可以了。文檔工程和例子工程的路由等信息都會(huì)在通過(guò)創(chuàng)建組件命令的時(shí)候自動(dòng)更新,你在更改組件的文檔和組件功能的時(shí)候,文檔工程和例子工程都會(huì)實(shí)時(shí)更新。

實(shí)際項(xiàng)目接入

這里推薦使用npm link的方式,在項(xiàng)目里npm link本地用vde init的那個(gè)工程即可。

總結(jié)

以上所述是小編給大家介紹的Vue項(xiàng)目組件化工程開發(fā)實(shí)踐方案,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI