- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- Mint UI如何實(shí)現基于Vue.js移動(dòng)端組件庫
這篇文章將為大家詳細講解有關(guān)Mint UI如何實(shí)現基于Vue.js移動(dòng)端組件庫,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
Mint UI 包含豐富的 CSS 和 JS 組件,能夠滿(mǎn)足日常的移動(dòng)端開(kāi)發(fā)需要。通過(guò)它,可以快速構建出風(fēng)格統一的頁(yè)面,提升開(kāi)發(fā)效率。
真正意義上的按需加載組件??梢灾患虞d聲明過(guò)的組件及其樣式文件,無(wú)需再糾結文件體積過(guò)大。
考慮到移動(dòng)端的性能門(mén)檻,Mint UI 采用 CSS3 處理各種動(dòng)效,避免瀏覽器進(jìn)行不必要的重繪和重排,從而使用戶(hù)獲得流暢順滑的體驗。
依托 Vue.js 高效的組件化方案,Mint UI 做到了輕量化。即使全部引入,壓縮后的文件體積也僅有 100+ K。
Mint UI
GitHub:https://github.com/ElemeFE/mint-ui
項目主頁(yè):http://mint-ui.github.io/#!/zh-cn
Demo:http://elemefe.github.io/mint-ui/#!/
文檔:http://mint-ui.github.io/docs/#!/zh-cn
由餓了么前端團隊推出的 Mint UI 是一個(gè)基于 Vue.js 的移動(dòng)端組件庫。自 6 月初開(kāi)源以來(lái),根據社區和團隊內部的反饋,修復了一些 bug 并新增了部分組件,于本周發(fā)布了 0.2.0 版本。本文介紹如何從零開(kāi)始構建一個(gè)使用 Mint UI 的 Vue 項目。
腳手架
隨著(zhù) Vue.js 的迅速發(fā)展,目前搭建一個(gè) Vue 項目的腳手架已經(jīng)有不少選擇了。比如可以使用官方提供的 vue-cli。本文使用餓了么自己的構建工具 cooking 來(lái)完成這個(gè)任務(wù)。
首先,全局安裝 cooking:
npm i cooking -g
新建項目文件夾:
mkdir mint-ui-example
進(jìn)入項目文件夾,使用 cooking 進(jìn)行構建:
cooking init vue
最后的參數 vue 表示構建的是基于 Vue.js 的腳手架。
在構建過(guò)程中,cooking 需要如下一些參數:
其中“使用何種 CSS 預處理”這里選擇的是 Salad,它是一套基于 PostCSS 的解決方案,有興趣的同學(xué)可以了解一下。當然,你也可以選擇其他的預處理器。
完成構建后的項目結構為:
接下來(lái)安裝 Mint UI:
npm i mint-ui --save
引入 Mint UI
好了,之后的工作可以分為兩種情況:
1. 引入全部組件
如果你的項目會(huì )用到 Mint UI 里較多的組件,最簡(jiǎn)單的方法就是把它們全部引入。此時(shí)需要在入口文件 main.js 中:
import MintUI from 'mint-ui'; import 'mint-ui/lib/style.css'; Vue.use(MintUI);
2. 按需引入
如果你只需要使用某個(gè)組件,可以?xún)H引入這個(gè)組件,Mint UI 能夠保證在代碼打包時(shí),與這個(gè)組件無(wú)關(guān)的文件不會(huì )出現在最終代碼里。比如需要引入 Button 組件,則在 main.js 中:
import Button from 'mint-ui/lib/button'; import 'mint-ui/lib/button/style.css'; Vue.component(Button.name, Button);
可以看出,上面兩種引入方法都要單獨引入相應的 CSS 文件。這很不方便,尤其當你使用按需引入的方法引入多個(gè)組件時(shí)。為了避免這個(gè)問(wèn)題,可以使用 babel-plugin-component
插件。首先當然是安裝它:
npm i babel-plugin-component -D
然后在 .babelrc 中配置它:
{ "plugins": ["other-plugin", ["component", [ { "libraryName": "mint-ui", "style": true } ]]] }
這樣上述兩種引入方法就可以簡(jiǎn)化為:
import MintUI from 'mint-ui'; Vue.use(MintUI);
和
import Button from 'mint-ui/lib/button'; Vue.component(Button.name, Button);
插件會(huì )自動(dòng)引入相應的 CSS 文件。
使用
每個(gè)組件的使用方法請閱讀文檔,這里只舉一個(gè)微小的例子。在 app.vue 中:
<template> <h2>mint-ui-example</h2> <mt-button type="primary" @click="sheetVisible = true"> 選擇操作 </mt-button> <mt-actionsheet cancel-text="" :actions="actions" :visible.sync="sheetVisible"> </mt-actionsheet> </template> <script> import { Toast, MessageBox } from 'mint-ui'; export default { name: 'app', data() { return { sheetVisible: false, actions: [{ name: '展示 Toast', method: this.showToast }, { name: '展示 Message Box', method: this.showMsgbox }] }; }, methods: { showToast() { Toast('這是一個(gè) Toast'); }, showMsgbox() { MessageBox('提示', '這是一個(gè) Message Box'); } } }; </script>
則會(huì )得到如下頁(yè)面:
預告
以上就是 Mint UI 的使用方法介紹。如果在使用的過(guò)程中遇到任何問(wèn)題,或者是想給我們一些建議,歡迎大家去 GitHub 倉庫提 issue。
可能有些同學(xué)知道,除了這個(gè)移動(dòng)端組件庫以外,餓了么還有一套桌面端組件庫 vue-desktop。目前我們正在對它進(jìn)行重構,這次有了 UED 的介入,整體視覺(jué)有了很大的提升。完成后也會(huì )開(kāi)源,而且會(huì )有兩個(gè)版本,分別支持 vue 1.0.x 和 vue 2.0。當然,Mint UI 也會(huì )考慮支持 vue 2.0。
PS: mint-ui在手機頁(yè)面的樣式不正常問(wèn)題
問(wèn)題一、
在使用 vue2.0 +mint-ui 時(shí)pc端的樣式?jīng)]有問(wèn)題但是手機端的就縮小了,失去了想要的效果
這是一個(gè)頭文件的申明問(wèn)題在入口文件index.html里的標簽里加上這個(gè)代碼即可
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站