zoukankan      html  css  js  c++  java
  • Mint-UI

    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这个强大的组件库,把里面已经构建好的组件直接拿来用即可

  • 相关阅读:
    Working with macro signatures
    Reset and Clear Recent Items and Frequent Places in Windows 10
    git分支演示
    The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1.
    Build website project by roslyn through devenv.com
    Configure environment variables for different tools in jenkins
    NUnit Console Command Line
    Code Coverage and Unit Test in SonarQube
    头脑王者 物理化学生物
    头脑王者 常识,饮食
  • 原文地址:https://www.cnblogs.com/Grani/p/9661322.html
Copyright © 2011-2022 走看看