欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于VUE.JS的移动端框架Mint UI的使用

程序员文章站 2022-03-21 21:34:20
mint ui github:github.com/elemefe/mint 项目主页: demo: 文档: 由饿了么前端团队推出的 mint ui 是一个基于...

mint ui

github:github.com/elemefe/mint

项目主页:

demo:

文档:

由饿了么前端团队推出的 mint ui 是一个基于 vue.js 的移动端组件库。自 6 月初开源以来,根据社区和团队内部的反馈,修复了一些 bug 并新增了部分组件,于本周发布了 0.2.0 版本。本文介绍如何从零开始构建一个使用 mint ui 的 vue 项目。

脚手架

随着 vue.js 的迅速发展,目前搭建一个 vue 项目的脚手架已经有不少选择了。比如可以使用官方提供的 vue-cli。本文使用饿了么自己的构建工具 cooking 来完成这个任务。

首先,全局安装 cooking:

npm i cooking -g

新建项目文件夹:

mkdir mint-ui-example

进入项目文件夹,使用 cooking 进行构建:

cooking init vue

最后的参数 vue 表示构建的是基于 vue.js 的脚手架。

在构建过程中,cooking 需要如下一些参数:

基于VUE.JS的移动端框架Mint UI的使用

其中“使用何种 css 预处理”这里选择的是 salad,它是一套基于 postcss 的解决方案,有兴趣的同学可以了解一下。当然,你也可以选择其他的预处理器。

完成构建后的项目结构为:

基于VUE.JS的移动端框架Mint UI的使用

接下来安装 mint ui:

npm i mint-ui --save

引入 mint ui

好了,之后的工作可以分为两种情况:

1. 引入全部组件
如果你的项目会用到 mint ui 里较多的组件,最简单的方法就是把它们全部引入。此时需要在入口文件 main.js 中:

import mintui from 'mint-ui';
import 'mint-ui/lib/style.css';

vue.use(mintui);

2. 按需引入

如果你只需要使用某个组件,可以仅引入这个组件,mint ui 能够保证在代码打包时,与这个组件无关的文件不会出现在最终代码里。比如需要引入 button 组件,则在 main.js 中:

import button from 'mint-ui/lib/button';
import 'mint-ui/lib/button/style.css';

vue.component(button.name, button);

可以看出,上面两种引入方法都要单独引入相应的 css 文件。这很不方便,尤其当你使用按需引入的方法引入多个组件时。为了避免这个问题,可以使用babel-plugin-component 插件。首先当然是安装它:

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);

插件会自动引入相应的 css 文件。

使用

每个组件的使用方法请阅读文档,这里只举一个微小的例子。在 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('这是一个 toast');
   },

   showmsgbox() {
    messagebox('提示', '这是一个 message box');
   }
  }
 };
</script>

则会得到如下页面:

基于VUE.JS的移动端框架Mint UI的使用

预告

以上就是 mint ui 的使用方法介绍。如果在使用的过程中遇到任何问题,或者是想给我们一些建议,欢迎大家去 github 仓库提 issue。

可能有些同学知道,除了这个移动端组件库以外,饿了么还有一套桌面端组件库vue-desktop。目前我们正在对它进行重构,这次有了 ued 的介入,整体视觉有了很大的提升。完成后也会开源,而且会有两个版本,分别支持 vue 1.0.x 和 vue 2.0。当然,mint ui 也会考虑支持 vue 2.0。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。