創(chuàng)建瓜客、發(fā)布自己的 Vue UI 組件庫(kù)

初始化 project

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

npm install -g @vue/cli

vue create mste-component

進(jìn)入我們新建的項(xiàng)目, 讓我們看看當(dāng)前的項(xiàng)目文件:


接下來讓我們寫一個(gè)簡(jiǎn)單的?Vue component. 這里我寫了一個(gè)簡(jiǎn)單的頂欄控件, 用來展示.

配置 project

下面我們來配置當(dāng)前項(xiàng)目, 以使其可以發(fā)布到 npm 上.

首先我們編輯入口文件src/components/index.js, 使其被作為 UI 庫(kù)導(dǎo)入時(shí)能自動(dòng)在Vue中注冊(cè)我們的 Component:

import Vuefrom 'vue'

import Buttonfrom '../components/Button.vue'

import Iconfrom '../components/Icon.vue'

const Components = {

Button,

? ? Icon

}

Object.keys(Components).forEach(name=> {

Vue.component(name, Components[name])

})

export default Components

接下來我們添加 build 項(xiàng)目的腳本到package.jsonscripts中:


其中?--name libraryName?指定的是要發(fā)布的Library的名稱, 我們執(zhí)行上面新加的腳本:

npm run build-bundle

可以看到 build 生成了各種版本可以用于發(fā)布的js文件

這里我們選擇默認(rèn)發(fā)布我們的 *.common.js?文件, 所以我們?cè)?package.json中添加main屬性.

指定該屬性后, 當(dāng)我們引用該組件庫(kù)時(shí), 會(huì)默認(rèn)加載 main 中指定的文件.

最后, 我們?cè)倥渲?package.json中的?files屬性, 來配置我們想要發(fā)布到 npm 上的文件路徑.

我們這里將用戶引用我們的組件庫(kù)可能用到的所有文件都放進(jìn)來:



npm 發(fā)布


首先我們注冊(cè)一個(gè)?npm?賬號(hào) (如果已有賬號(hào), 可以跳過此步驟)

npm add user// 按照提示輸入用戶名, 郵箱等即可復(fù)制代碼

然后使用npm login登錄注冊(cè)號(hào)的狀態(tài)

登錄后可以使用npm whoami查看登錄狀態(tài)

在發(fā)布之前, 我們修改一下項(xiàng)目的名稱(注意不要和已有項(xiàng)目名稱沖突), 推薦使用 @username/projectName 的命名方式.


接下來我們就可以發(fā)布我們的 UI 組件庫(kù)了, 在發(fā)布之前我們?cè)倬幾g一次, 讓build出的文件為我們最新的修改:

npm run build-bundle

我們使用下面的命令發(fā)布我們的項(xiàng)目:

npm publish --access public


成功了

需要注意的是?package.json中指定的version屬性: 每次要更新我們的組件庫(kù)都需要更新一下version(畢竟同一個(gè)version?的代碼不同,很容易讓人產(chǎn)生疑惑)

測(cè)試使用

這樣我們就完成了自己的 UI 組件庫(kù)的發(fā)布. 接下來我們可以在任何需要使用到該組件庫(kù)的項(xiàng)目中使用:

npm install --save @ssthouse/mste-component

然后在index文件 (如src/main.js) 中引入該組件庫(kù):

import '@ssthouse/mste-component'

接下來我們就可以在?Vuetemplate中使用組件庫(kù)中的?Component了:

最后

經(jīng)過上面這些步驟后, 我們就擁有了一個(gè)屬于自己的組件庫(kù)了. 我們可以隨時(shí)更新, 發(fā)布自己新版的組件庫(kù).

而依賴了該組件庫(kù)的項(xiàng)目只需要使用簡(jiǎn)單的 npm 命令即可更新


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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市私沮,隨后出現(xiàn)的幾起案子惨寿,更是在濱河造成了極大的恐慌,老刑警劉巖迹炼,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砸彬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡斯入,警方通過查閱死者的電腦和手機(jī)砂碉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刻两,“玉大人增蹭,你說我怎么就攤上這事“跄。” “怎么了滋迈?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵霎奢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我饼灿,道長(zhǎng)幕侠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任碍彭,我火速辦了婚禮晤硕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘庇忌。我一直安慰自己舞箍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布皆疹。 她就那樣靜靜地躺著疏橄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪墙基。 梳的紋絲不亂的頭發(fā)上软族,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音残制,去河邊找鬼立砸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛初茶,可吹牛的內(nèi)容都是我干的颗祝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼恼布,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼螺戳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起折汞,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤倔幼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后爽待,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體损同,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年鸟款,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膏燃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡何什,死狀恐怖组哩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤伶贰,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布蛛砰,位于F島的核電站,受9級(jí)特大地震影響幕袱,放射性物質(zhì)發(fā)生泄漏暴备。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一们豌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浅妆,春花似錦望迎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至康辑,卻和暖如春摄欲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疮薇。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工胸墙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人按咒。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓迟隅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親励七。 傳聞我的和親對(duì)象是個(gè)殘疾皇子智袭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348