Mint-UI是基于Vue.js的移动端组件库

Mint-UI是Vue组件库,是使用Vue技术封装出来的成套的组件,可以无缝地和Vue项目进行集成开发

Mint UI官网

不同版本的安装

导入有两种方式


完整引入

入口文件main.js

import Vue from 'vue'
import index from './index.vue'
import Mint from 'mint-ui' //导入Mint-UI,把所有组件都导入进来
import 'mint-ui/lib/style.css' //样式,可以省略node_modules这层目录的书写 Vue.use(Mint) //将MintUI安装到Vue中,把所有组件注册为全局组件 var vm = new Vue({
el:'#app',
render:function (creatElement) {
return creatElement(index)
}
})

然后就可以在我们的vue模板文件中直接使用需要的组件,Mint-UI将组件分为JS Component、CSS Component和Form Component,需要哪个组件就直接选中复制粘贴过来使用

使用组件前要进行全局或私有组件的定义,显然Mint-UI已经帮我们定义好了,所以能直接拿来用

使用JS Component

<template>
<div>
<!--点击按钮触发自定义的show方法,show方法中调用Toast-->
<mt-button type="primary" @click="show">primary</mt-button>
</div>
</template>
<script>
import { Toast } from 'mint-ui' //使用前要导包

export default {
data:function () {
return { }
},
methods:{
show(){
Toast({
message:'快乐崇拜',
position:'bottom',
duration:-1,
iconClass:'glyphicon glyphicon-ok-sign'
})
}
}
}
</script>
<style scoped>
</style>

按需引入

官方文档说到,按需引入需要先安装babel-plugin-component插件

npm install babel-plugin-component -D

再将.babelrc修改为

{
"presets": [
["es2015", { "modules": false }]
],
"plugins": [["component", [
{
"libraryName": "mint-ui",
"style": true
}
]]]
}

babel是帮webpack处理高级语法的,这里既然需要使用babel,那就按老套路执行两套命令安装两套包来实现babel相关功能

npm i babel-core babel-loader babel-plugin-transform-runtime -D    //babel的转换工具
npm i babel-preset-env babel-preset-stage-0 -D //babel的语法,babel-preset-env语法插件包含目前所有ES相关的语法

然后在webpack.config中module节点下rules数组内添加新匹配规则

//在配置babel的loader规则时必须把node_modules目录通过exclude选项排除掉
{test: /\.js$/,use: 'babel-loader', exclude: /node_modules/}

最后根目录下新建.babelrc的babel配置文件(json格式),结合Mint-UI文档的修改要求后,为

{
"presets": ["env","stage-0"],
"plugins": ["transform-runtime",["component", [
{
"libraryName": "mint-ui",
"style": true
}
]]]
}

然后在入口文件main中引入就可使用了

import Vue from 'vue'
import index from './index.vue'
import 'mint-ui/lib/style.css' //样式一定别忘了引入 import { Button } from 'mint-ui' //按需导入,按钮组件 Vue.component(Button.name,Button) //组件注册 var vm = new Vue({
el:'#app',
render:function (creatElement) {
return creatElement(index)
}
})

途中报错

ERROR in ./src/main.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module '@babel/core'
babel-loader@8 requires Babel 7.x (the package '@babel/core'). If you'd like to use Babel 6.x ('babel-core'), you should install 'babel-loader@7'.

按其说的,安装babel-loader@7 后,问题解决


总结

回想自己创建组件的过程,模板对象原本是在入口文件中创建的,后来改使用vue文件来创建

模板创建好后在入口文件中 import 模板名 from ‘模板路径’,来导入经过webpack打包结合(template+script+style)的模板对象

之后使用Vue.component('自定义组件名',模板对象)的方式来注册,之后就可使用该模板

也可以把模板对象给render方法或者路由构造里的component

现在有了Mint-UI这个强大的组件库,把里面已经构建好的组件直接拿来用即可

Mint-UI的更多相关文章

  1. vue mint UI

    vue 与mint  UI 结合开发手机app  html5页面 api  文档   http://mint-ui.github.io/#!/zh-cn

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

    Mint UI GitHub:github.com/ElemeFE/mint 项目主页:mint-ui.github.io/# Demo:elemefe.github.io/mint- 文档:mint ...

  3. vue mint ui 手册文档对于墙的恐惧

    http://www.cnblogs.com/smallteeth/p/6901610.html npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm ...

  4. Mint UI文档

    Mint UI文档:http://elemefe.github.io/mint-ui/#/ 一.Mint UI的安装和基本用法. 1.NPM :npm i mint-ui -S 建议使用npm进行安装 ...

  5. 新建一个基于vue.js+Mint UI的项目

    上篇文章里面讲到如何新建一个基于vue,js的项目(详细文章请戳用Vue创建一个新的项目). 该项目如果需要组件等都需要自己去写,今天就学习一下如何新建一个基于vue.js+Mint UI的项目,直接 ...

  6. iView webapp / Mint UI / MUI [前端UI]

    前端UI iView webapp一套高质量的 微信小程序 UI 组件库 https://weapp.iviewui.com/?from=iview Mint UI 基于 Vue.js 的移动端组件库 ...

  7. Mint UI 使用指南

    上来直接在webpack里将Mint UI引入项目,发现各种问题.饿了么组件库文档太坑了,好多地方写错,有些该说明的地方没说,比如例子里单文件.vue组件里用的类post-css处理器,我一直使用SA ...

  8. Mint UI Example的运行

    Mint -UI是新推出的移动端UI框架 官网 不过官网上的文档例子不是很全面. 建议下载他们提供的example来学习. 1.examplle源码下载地址 2.打开项目,我这里使用webstorm, ...

  9. vuetify,vux,Mint UI 等框架的选择

    vuetify: https://vuetifyjs.com/zh-Hans/getting-started/quick-start NutUI:https://github.com/jdf2e/nu ...

  10. Vue移动组件库Mint UI的安装与使用

    一.什么是 Mint UI 1.Mint UI 包含丰富的 CSS 和 JS 组件,可以提升移动端开发效率 2.Mint UI 按需加载组件 3.Mint UI 轻量化 二.Mint UI 的安装 1 ...

随机推荐

  1. 绑定本地的Session

    绑定本地的Session图示解析: 代码的结构: 代码: SaveServlet.java package com.itheima.servlet; import java.io.IOExceptio ...

  2. python kafka

    转载:https://zhuanlan.zhihu.com/p/31731892 https://kafka-python.readthedocs.io/en/master/usage.html

  3. MySQL的复制机制

    MySQL的复制机制 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL复制介绍 1>.MySQL复制允许将主实例(master)上的数据同步到一个或多个从实例( ...

  4. MySQL入门介绍(mysql-8.0.13)

    MySQL入门介绍(mysql-8.0.13单机部署) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL数据库介绍 1>.MySQL是一种开放源代码的关系型数据库 ...

  5. Ambari集成Kerberos报错汇总

    Ambari集成Kerberos报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看报错的配置信息步骤 1>.点击Test Kerberos Client,查看相 ...

  6. Hadoop生态圈-构建企业级平台安全方案

    Hadoop生态圈-构建企业级平台安全方案 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,估计你对大数据集群的部署对于你来说应该是手到擒来了吧.我之前分享过 ...

  7. oracle数据泵导入导出命令

    1.在PL/SQL的界面,找到Directories文件夹,找到目录文件的路径 2.通过SSH进入服务器 找到相应的路径 cd /u01/oracle/dpdir 输入指令 df -h   查看资源使 ...

  8. MyBatis-Plugins

    MyBatis 允许在已映射语句执行过程中的某一点进行拦截调用.默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flushStatem ...

  9. springboot整合mybatis出现的一些问题

    springboot整合mybatis非常非常的简单,简直简单到发指.但是也有一些坑,这里我会详细的指出会遇到什么问题,并且这些配置的作用 整合mybatis,无疑需要mapper文件,实体类,dao ...

  10. bzoj千题计划315:bzoj3172: [Tjoi2013]单词(AC自动机)

    https://www.lydsy.com/JudgeOnline/problem.php?id=3172 构建AC自动机 在fail树上,点i的子树大小 表示trie树上根节点到i构成的单词 是 多 ...