2018-12-06

1. 環(huán)境配置

全局安裝 vue-cli

2. 初始化項(xiàng)目

這里使用官方的 vue-cli 初始化一個(gè) Vue 項(xiàng)目

vue-cli.png

運(yùn)行項(xiàng)目:
npm run.png

3.寫插件

在 src 文件夾下面建 lib 文件夾,用于存放插件。整個(gè)項(xiàng)目目錄如下所示

目錄.png

根據(jù)自己的需求,實(shí)現(xiàn)具體功能,這里主要是做個(gè)測(cè)試,這個(gè)插件的內(nèi)容就很簡(jiǎn)單。
內(nèi)容.png

添加vue-chen-label.js文件,js 中寫 install 方法,內(nèi)容如下:
寫插件.png

4.本地測(cè)試

4.1 將 App.vue 多余代碼刪除。

4.2 在 main.js 中引入

本地測(cè)試引入.png

4.3 在 App.vue 中使用

本地測(cè)試.png

4.4 本地測(cè)試的結(jié)果

本地測(cè)試1.png

5. 配置打包

5.1 修改 package.json

因?yàn)榻M件包是公用的,所以private為false
配置main結(jié)點(diǎn),如果不配置,我們?cè)谄渌?xiàng)目中就不用import XX from '包名'來(lái)引用了,只能以包名作為起點(diǎn)來(lái)指定相對(duì)的路徑

package.png

5.2 修改 .gitignore 文件

因?yàn)橐胐ist文件夾,所以在.gitignore文件中把dist/去掉。


ignore.png

5.3 修改 index.html文件

5.4 修改webpack.base.conf.js

修改打包入口文件


base.png

5.5修改webpack.prod.conf.js

為了支持多種使用場(chǎng)景,我們需要選擇合適的打包格式。
UMD 同時(shí)支持兩種執(zhí)行環(huán)境。顯而易見(jiàn),我們應(yīng)該選擇 UMD 格式。Webpack 中指定輸出格式的設(shè)置項(xiàng)為 output.libraryTarget

prod.png

另外,為了將css打包成一個(gè)文件,所以需要修改 webpack.prod.conf.js 中的
plugins 選項(xiàng)

css.png

6.用npm打包

打包.png

6.1發(fā)布到npm

npm官網(wǎng) 注冊(cè)一個(gè)npm賬號(hào)
登錄npm賬號(hào),輸入用戶名、密碼、郵箱
執(zhí)行npm publish
這里如果之前切換過(guò)數(shù)據(jù)源,得切換回來(lái)

登錄npm.png

6.2 發(fā)布成功

可以在npm官網(wǎng)上搜到自己寫的組件


發(fā)布成功.png

7.使用

新建另一個(gè)項(xiàng)目
main.js引用,在App.vue使用

引用.png

使用.png

效果.png

8.組件UI庫(kù)的搭建

組件庫(kù)的結(jié)構(gòu)

組件庫(kù)結(jié)構(gòu).png

在components目錄下放所有的組件,現(xiàn)在用tag標(biāo)簽組件做展示。
公共的樣式可以寫在styles文件夾下,在index文件里引入。

樣式入口.png

公共樣式.png

index.js作為組件庫(kù)的入口。

組件庫(kù)入口.png

views文件夾下的home.vue是示例頁(yè)面。

組件庫(kù)示例.png

組件庫(kù)的打包


組件庫(kù)打包.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容