基于VUE.JS的移動端框架Mint UI的使用
Mint UI
GitHub:github.com/ElemeFE/mint
項(xiàng)目主頁:mint-ui.github.io/#
由餓了么前端團(tuán)隊(duì)推出的 Mint UI 是一個(gè)基于 Vue.js 的移動端組件庫。自 6 月初開源以來,根據(jù)社區(qū)和團(tuán)隊(duì)內(nèi)部的反饋,修復(fù)了一些 bug 并新增了部分組件,于本周發(fā)布了 0.2.0 版本。本文介紹如何從零開始構(gòu)建一個(gè)使用 Mint UI 的 Vue 項(xiàng)目。
腳手架
隨著 Vue.js 的迅速發(fā)展,目前搭建一個(gè) Vue 項(xiàng)目的腳手架已經(jīng)有不少選擇了。比如可以使用官方提供的 vue-cli。本文使用餓了么自己的構(gòu)建工具 cooking 來完成這個(gè)任務(wù)。
首先,全局安裝 cooking:
npm i cooking -g
新建項(xiàng)目文件夾:
mkdir mint-ui-example
進(jìn)入項(xiàng)目文件夾,使用 cooking 進(jìn)行構(gòu)建:
cooking init vue
最后的參數(shù) vue 表示構(gòu)建的是基于 Vue.js 的腳手架。
在構(gòu)建過程中,cooking 需要如下一些參數(shù):
其中“使用何種 CSS 預(yù)處理”這里選擇的是 Salad,它是一套基于 PostCSS 的解決方案,有興趣的同學(xué)可以了解一下。當(dāng)然,你也可以選擇其他的預(yù)處理器。
完成構(gòu)建后的項(xiàng)目結(jié)構(gòu)為:
接下來安裝 Mint UI:
npm i mint-ui --save
引入 Mint UI
好了,之后的工作可以分為兩種情況:
1. 引入全部組件
如果你的項(xiàng)目會用到 Mint UI 里較多的組件,最簡單的方法就是把它們?nèi)恳搿4藭r(shí)需要在入口文件 main.js 中:
import MintUI from 'mint-ui'; import 'mint-ui/lib/style.css'; Vue.use(MintUI);
2. 按需引入
如果你只需要使用某個(gè)組件,可以僅引入這個(gè)組件,Mint UI 能夠保證在代碼打包時(shí),與這個(gè)組件無關(guān)的文件不會出現(xiàn)在最終代碼里。比如需要引入 Button 組件,則在 main.js 中:
import Button from 'mint-ui/lib/button'; import 'mint-ui/lib/button/style.css'; Vue.component(Button.name, Button);
可以看出,上面兩種引入方法都要單獨(dú)引入相應(yīng)的 CSS 文件。這很不方便,尤其當(dāng)你使用按需引入的方法引入多個(gè)組件時(shí)。為了避免這個(gè)問題,可以使用babel-plugin-component 插件。首先當(dāng)然是安裝它:
npm i babel-plugin-component -D
然后在 .babelrc 中配置它:
{ "plugins": ["other-plugin", ["component", [ { "libraryName": "mint-ui", "style": true } ]]] }
這樣上述兩種引入方法就可以簡化為:
import MintUI from 'mint-ui'; Vue.use(MintUI);
和
import Button from 'mint-ui/lib/button'; Vue.component(Button.name, Button);
插件會自動引入相應(yīng)的 CSS 文件。
使用
每個(gè)組件的使用方法請閱讀文檔,這里只舉一個(gè)微小的例子。在 app.vue 中:
<template> <h1>mint-ui-example</h1> <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>
則會得到如下頁面:
預(yù)告
以上就是 Mint UI 的使用方法介紹。如果在使用的過程中遇到任何問題,或者是想給我們一些建議,歡迎大家去 GitHub 倉庫提 issue。
可能有些同學(xué)知道,除了這個(gè)移動端組件庫以外,餓了么還有一套桌面端組件庫vue-desktop。目前我們正在對它進(jìn)行重構(gòu),這次有了 UED 的介入,整體視覺有了很大的提升。完成后也會開源,而且會有兩個(gè)版本,分別支持 vue 1.0.x 和 vue 2.0。當(dāng)然,Mint UI 也會考慮支持 vue 2.0。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
webStorm?debug?vue項(xiàng)目的兩種方案圖文詳解
WebStorm作為一款功能強(qiáng)大的IDE,提供了豐富的調(diào)試功能和技巧,可以幫助你更高效地開發(fā)和調(diào)試Vue應(yīng)用,這篇文章主要給大家介紹了關(guān)于webStorm?debug?vue項(xiàng)目的兩種方案,需要的朋友可以參考下2024-07-07element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼
本文主要介紹了element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05vue使用jsonp抓取qq音樂數(shù)據(jù)的方法
這篇文章主要介紹了vue使用jsonp抓取qq音樂數(shù)據(jù)的方法,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06幾個(gè)你不知道的技巧助你寫出更優(yōu)雅的vue.js代碼
本文參考自油管上某個(gè)國外大神的公開演講視頻,學(xué)習(xí)了一下覺得很不錯,所以在項(xiàng)目中也使用了這些不錯的技巧。趁周末有空,寫個(gè)博客記錄一下2018-06-06詳解給Vue2路由導(dǎo)航鉤子和axios攔截器做個(gè)封裝
本篇文章主要介紹了詳解給Vue2路由導(dǎo)航鉤子和axios攔截器做個(gè)封裝,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04解析vue?3.0?使用axios庫發(fā)起?post?get?的配置過程
get post 請求開發(fā)中最普通最常見的請求方式但是在vue中如何實(shí)現(xiàn)呢 這里記錄一下配置過程,對vue?使用axios發(fā)起?post?get配置過程感興趣的朋友一起看看吧2022-05-05vue主動刷新頁面及列表數(shù)據(jù)刪除后的刷新實(shí)例
今天小編就為大家分享一篇vue主動刷新頁面及列表數(shù)據(jù)刪除后的刷新實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09