成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Vue-Donut——專用于構建Vue的UI組件庫的開發(fā)框架

stormgens / 1933人閱讀

摘要:相信不少使用的開發(fā)者和公司都有定制一套屬于自己的組件庫的需求。針對這個問題,我搭建了一個專門用來構建的組件庫的開發(fā)框架,以節(jié)省搭建環(huán)境的勞動力,專心于組件庫的開發(fā)。首先我們嘗試了使用的方案,就是把組件庫直接作為項目的子模塊使用。

相信不少使用Vue的開發(fā)者和公司都有定制一套屬于自己的UI組件庫的需求。但是要開發(fā)、測試、打包、發(fā)布這個組件庫,卻需要耗費較大的勞動力去搭建一整套的環(huán)境。針對這個問題,我搭建了一個專門用來構建Vue的UI組件庫的開發(fā)框架,以節(jié)省搭建環(huán)境的勞動力,專心于組件庫的開發(fā)。

一、介紹

項目地址:https://github.com/jrainlau/v...

Vue-Donut是一個開發(fā)框架,配合vue-cli使用。所以首先保證全局安裝有vue-cli。接下來就可以初始化我們的項目了:

vue init jrainlau/vue-donut <項目名>

類似官方的vuejs-templates/webpack模板,Vue-Donut也允許用戶進行一些配置。在配置完成后則會生成你的組件庫目錄。值得注意的是,這個組件庫最終發(fā)布的名字也是你所自定義的項目名(當然這些都是可以修改的)。

接下來按照提示,進入項目目錄后,通過yarn命令下載所需依賴包即可開始使用。

目錄結構如下:

.
├── index.html
├── package.json
├── src
│?? ├── app.vue
│?? ├── assets
│?? │?? └── donut.jpg
│?? ├── components
│?? │?? ├── content.vue
│?? │?? ├── header.vue
│?? │?? ├── index.js
│?? │?? ├── link.vue
│?? │?? └── title.vue
│?? └── main.js
└── webapck
    ├── build.js
    ├── dev.js
    ├── doc.js
    ├── webpack.base.config.js
    ├── webpack.build.config.js
    ├── webpack.dev.config.js
    └── webpack.doc.config.js
二、命令

yarn run dev:開發(fā)模式

通過webpack-dev-server開啟一個測試服務器,就和官方的vuejs-templates/webpack模板里面的一樣。

yarn run build:打包及發(fā)布模式

這個命令會以src/components/index.js為入口文件,通過webpack構建后產(chǎn)出到dist目錄。

dist/index.js就是你接下來將會發(fā)布到npm上面的包。

你應該熟練掌握如何編寫vue的插件

src/components/index.js入口文件應該長成下面這個樣子:

import myComponent from "./my-component.vue"

const install = (Vue) => {
  Vue.component("my-componen", myComponent)
}

export default install

yarn run build:文檔模式

通過運行yarn run dev,你所開發(fā)的就像是一個普通的單頁應用,這也類似于組件庫的官方文檔頁面。當開發(fā)完成后,你可以通過這條命令打包你的應用。app.[hash].js, vendor.[hash].jsmanifest.[hash].js,以及獨立的css文件都會被打包到docs文件夾。

source map *.[hash].map會被自動生成。

可以方便地直接使用docs目錄作為github pages的資源目錄。

三、注意事項

Vue-Donut默認使用less作為預處理器,如果需要用其他預處理器,可以自定義配置。

測試同理。

四、證書

MIT

一些碎碎念

在工作的過程中,遇到了搭建UI組件庫的需求。開發(fā)不難,麻煩的是如何在項目中引入使用。首先我們嘗試了使用git的submodule方案,就是把UI組件庫直接作為項目的子模塊使用。另外一種方式,是把整個組件庫發(fā)布到npm,然后在webpack.module.rulesexclude里面通過正則或者函數(shù)的方式,使用項目的webpack配置去跑組件庫的代碼。這兩種方式都不那么優(yōu)雅,思考再三,最后決定搭個更加方便優(yōu)雅的開發(fā)框架來。

在此之前,對于webpack的使用及配置僅處于“看得懂”的程度,但從未真正從頭開始搭過。在搭建的過程中也遇到了不少坑,但通過查閱官方文檔大都能獲得解決辦法,實在不行還有萬能的google和stackoverflow。搭的過程中也參考了很多優(yōu)秀的實踐,比如公司前輩的搭建方式,以及vue-cli官方出品的搭建方式等,搭完后對webpack的掌握也得到了極大的提升。

希望這個作品能夠發(fā)揮能效,也歡迎提出問題和建議和我交流~

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/82864.html

相關文章

  • angular,react & vue

    摘要:由進行開發(fā)和維護,代發(fā)布于年月,現(xiàn)在主要是。狀態(tài)是只讀的,只能通過來改變,以避免競爭條件這也有助于調(diào)試。文件大小為,而為,為。請記住,性能基準只能作為考慮的附注,而不是作為判斷標準。使用的人員報告說,他們永遠不必閱讀庫的源代碼。 本文當時寫在本地,發(fā)現(xiàn)換電腦很不是方便,在這里記錄下。 angular,react & vue 2018/07/23 2016年,對于JavaScript來說...

    jiekechoo 評論0 收藏0
  • Riot.js——一個小而美JS框架

    摘要:專有的內(nèi)容更少,而更多符合標準的成分。當前標簽實例的方法被調(diào)用時當前標簽的任何一個祖先的被調(diào)用時更新從父親到兒子單向傳播。相對來說,微型場景會更適合,不想要太多的外部依賴,又需要組件化數(shù)據(jù)驅(qū)動等更現(xiàn)代化框架的能力。 Riot.js是什么? Riot 擁有創(chuàng)建現(xiàn)代客戶端應用的所有必需的成分: 響應式 視圖層用來創(chuàng)建用戶界面 用來在各獨立模塊之間進行通信的事件庫 用來管理URL和瀏覽器回...

    nemo 評論0 收藏0
  • Riot.js——一個小而美JS框架

    摘要:專有的內(nèi)容更少,而更多符合標準的成分。當前標簽實例的方法被調(diào)用時當前標簽的任何一個祖先的被調(diào)用時更新從父親到兒子單向傳播。相對來說,微型場景會更適合,不想要太多的外部依賴,又需要組件化數(shù)據(jù)驅(qū)動等更現(xiàn)代化框架的能力。 Riot.js是什么? Riot 擁有創(chuàng)建現(xiàn)代客戶端應用的所有必需的成分: 響應式 視圖層用來創(chuàng)建用戶界面 用來在各獨立模塊之間進行通信的事件庫 用來管理URL和瀏覽器回...

    tolerious 評論0 收藏0
  • 構建Vue-cli通用項目目錄

    摘要:使用基于依賴追蹤的觀察并且使用異步隊列更新。為項目配置文件。為項目靜態(tài)資源目錄。其實個人感覺通用項目目錄可以很隨意的搭配,比如說之后清空目錄封裝通用組件,像是啊,滑動常用組件。 寫在前面的個人體會,大神們可以跳過 這段時間接手一個后臺管理項目,從最開始寫一點我自己的體會吧。首先Vue,Angular和React是當今主流前端三大框架。Vue是一個用來構建網(wǎng)頁的JS庫,相比較Angula...

    Winer 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<