如何使用vue3打造一個(gè)物料庫(kù)
為什么要做物料庫(kù)?
我們寫過(guò)很多登錄頁(yè)面。而每個(gè)登錄頁(yè)面除了一些背景圖和顏色外,主體布局幾乎是一致的,就那么幾種類型。如果有個(gè)地方能幫我管理登錄頁(yè)面的代碼,那么下次我再寫登錄的時(shí)候就可以直接把界面生成好,調(diào)邏輯就可以了。
你也許會(huì)創(chuàng)建一個(gè)login.txt來(lái)存放你的登錄頁(yè),可隨著你想保存的代碼片段越來(lái)越多,你已經(jīng)很難根據(jù)文件的名稱來(lái)知道這個(gè)代碼片段具體的展現(xiàn)形式,這就引出了我們要討論的話題,如何通過(guò)構(gòu)建物料庫(kù)來(lái)管理可重復(fù)使用的代碼片段。
物料是什么?
物料是可復(fù)用的代碼片段
說(shuō)到復(fù)用你也許會(huì)問(wèn),為什么不叫組件呢?因?yàn)?,物料跟組件有本質(zhì)的區(qū)別,物料只是一串代碼,并不存在props,event,slot這些屬性。
物料可以由粒度的不同劃分為:
- 組件級(jí)物料
- 區(qū)塊級(jí)物料
- 頁(yè)面級(jí)物料
物料的類別
以一個(gè)按鈕為例。例如UI庫(kù)的按鈕圓角是6px,設(shè)計(jì)師要求的按鈕沒(méi)有圓角。我們可以完成這樣一個(gè)代碼片段:
<!-- 組件級(jí)物料 --> <el-button style="border-radius:0"></el-button>
將這個(gè)代碼片段保存成一個(gè)組件級(jí)的物料,要使用沒(méi)有圓角的按鈕時(shí)就可以快速地得到這個(gè)代碼片段。
你也許會(huì)疑惑,不就加了個(gè)屬性嗎,為什么還要制作成一個(gè)物料,我直接寫就好了。這個(gè)例子,我希望用最簡(jiǎn)單的方式告訴你什么是組件級(jí)物料,如果只是修改一個(gè)圓角你當(dāng)然不需要保存成一個(gè)物料。
一般在開發(fā)中后臺(tái)管理系統(tǒng)時(shí),大部分的列表,表格會(huì)隨著分頁(yè)一起出現(xiàn)。我們將一個(gè)表格和分頁(yè)組合起來(lái)的代碼片段稱為區(qū)塊級(jí)物料,例如:
<!-- 區(qū)塊級(jí)物料 --> <el-table /> <el-pagination />
同樣的,不同項(xiàng)目中如果你的登錄,注冊(cè)頁(yè)面風(fēng)格相同,你也可以將一整個(gè)頁(yè)面作為一個(gè)頁(yè)面級(jí)的物料,例如:
<!-- 頁(yè)面級(jí)物料 --> <el-input placeholder="請(qǐng)輸入用戶名"></el-input> <el-input placeholder="請(qǐng)輸入密碼"></el-input> <el-button>登錄</el-button> <a href="#" rel="external nofollow" >忘記密碼?</a>
fuep,基于vue3的物料庫(kù)
fuep,是一個(gè)幫助你管理代碼片段的工具,文末有在線體驗(yàn)地址。
如果你使用過(guò)飛冰,你就會(huì)發(fā)現(xiàn)關(guān)于物料的概念幾乎與飛冰一致,與飛冰不同的是,fuep中的物料載體并不是一個(gè)文件,而是可視化布局工具。用可視化布局工具作為物料的載體有一些弊端: 侵入性,它與vue和具體的ui庫(kù)綁定。 現(xiàn)在,你只能制作基于 element plus 和 vant3 的物料庫(kù)。但是,如果你是element plus和vant的用戶,使用可視化布局來(lái)制作物料會(huì)帶來(lái)諸多好處:
- 實(shí)時(shí)的預(yù)覽,以保證物料的展示效果是滿足預(yù)期的
- 可以很方便地修改布局和細(xì)節(jié)
- 物料之間可以隨意搭配
- 快速布局
下面我展示其中一個(gè)物料,你在可視化布局中這樣排列下面這些組件:

生成的代碼是這樣的;
<el-row type="flex" justify="start" align="middle">
<el-col :span="12">
<h3 class="mb-4 px-4 text-cool-gray-800 text-4xl">Free up engineer productivity</h3>
<p class="px-4 text-base text-gray-500 text-justify">Fuep focuses on improving the efficiency of engineers, using visual layout to quickly generate highly maintainable code. Compared with traditional visualization tools, it does not require row and col to be nested in each other.</p>
<el-row type="flex" justify="start" align="middle">
<el-button type="primary" class="ml-4 mt-4 px-8">Live Demo</el-button>
<el-button class="ml-4 mt-4 px-8">Get Started</el-button>
</el-row>
</el-col>
<el-col :span="12">
<el-image src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" :fit="cover" class="" fit="scale-down"></el-image>
</el-col>
</el-row>
通過(guò)代碼渲染出來(lái)的界面是這樣的:

你可以在這個(gè)物料的基礎(chǔ)上,做一些布局或者細(xì)節(jié)的修改來(lái)保存成一個(gè)新的,屬于你的物料。
如果你不知道如何開始,可以點(diǎn)擊左下角的指引或者介紹來(lái)了解fuep的工作機(jī)制。
以上就是如何使用vue3打造一個(gè)物料庫(kù)的詳細(xì)內(nèi)容,更多關(guān)于vue 打造物料庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue3使用vant檢索組件van-search遇到的問(wèn)題小結(jié)
當(dāng)清空按鈕與檢索按鈕同時(shí)居右時(shí),點(diǎn)擊clear清空按鈕事件時(shí)會(huì)同時(shí)觸發(fā)click-right-icon事件,這個(gè)時(shí)候容易觸發(fā)一系列問(wèn)題,小編小編給大家分享Vue3使用vant檢索組件van-search遇到的問(wèn)題小結(jié),感興趣的朋友一起看看吧2024-02-02
vue 實(shí)現(xiàn)通過(guò)vuex 存儲(chǔ)值 在不同界面使用
今天小編就為大家分享一篇vue 實(shí)現(xiàn)通過(guò)vuex 存儲(chǔ)值 在不同界面使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
vue指令?v-bind的使用和注意需要注意的點(diǎn)
這篇文章主要給大家分享了?v-bind的使用和注意需要注意的點(diǎn),下面文章圍繞?v-bind指令的相關(guān)資料展開內(nèi)容且附上詳細(xì)代碼?需要的小伙伴可以參考一下,希望對(duì)大家有所幫助2021-11-11
如何用vue2+element-ui實(shí)現(xiàn)多行行內(nèi)表格編輯
最近開發(fā)項(xiàng)目,關(guān)于表格的數(shù)據(jù)操作比較多,這個(gè)地方個(gè)人覺(jué)得比較難搞,特此記錄一下,這篇文章主要給大家介紹了關(guān)于如何用vue2+element-ui實(shí)現(xiàn)多行行內(nèi)表格編輯的相關(guān)資料,需要的朋友可以參考下2024-08-08
Vue3的provide和inject實(shí)現(xiàn)多級(jí)傳遞的原理解析
Vue3中的provide和inject函數(shù)通過(guò)原型鏈實(shí)現(xiàn)數(shù)據(jù)的多級(jí)傳遞,父組件使用provide注入數(shù)據(jù),子組件和后代組件通過(guò)inject獲取這些數(shù)據(jù),在創(chuàng)建組件實(shí)例時(shí),子組件會(huì)繼承父組件的provides屬性對(duì)象,介紹Vue3的provide和inject實(shí)現(xiàn)多級(jí)傳遞的原理,需要的朋友可以參考下2024-12-12
解決vue.js 數(shù)據(jù)渲染成功仍報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決vue.js 數(shù)據(jù)渲染成功仍報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Vue使用Vuex一步步封裝并使用store全過(guò)程
這篇文章主要介紹了Vue使用Vuex一步步封裝并使用store全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01

