美文网首页
Mint-ui按需引入与全局引入踩坑

Mint-ui按需引入与全局引入踩坑

作者: 子绎 | 来源:发表于2019-07-17 21:49 被阅读0次

全局引入

首先上来,二话不说,反手就是一个npm安装mint-ui

npm install mint-ui -D
或者npm install mint-ui -S 
都可以 

OK 接下来我们引入mint-ui 不引入我们怎么蹂躏呢
在入口js文件中

引入全局模块
 import Mint from 'mint-ui';
引入全局样式
import 'mint-ui/lib/style.css'
全局注册组件
Vue.use(Mint);

完成以上的步骤,我们就可以愉快的进行玩耍了

<mt-button type="default">default</mt-button>
<mt-button type="primary">primary</mt-button>
<mt-button type="danger">danger</mt-button>
到官网文档各种按钮一顿复制黏贴  运行就能看到结果了

但是,到此为止,你以为全局引用就完了吗?No! 上面只是你引用html,那如果要用JS呢?
比如说你想用弹框?比如说你想用更厉害的功能?
他们都是基于JS的,但是JS除了要配置上面的全局以外,还有个小小的细节要做

<script>
Toast('提示信息');
</script>

如果你认为,就这么调用,就能出来消息提示的气泡,那面临的应该就是一堆报错。
OK 我们只需要加上

<script>
手动引入模块
import { Toast } from 'mint-ui';
Toast('提示信息');
</script>

现在就可以愉快的玩耍了,Toast是功能模块的名字,具体官网引用每个模块都有,复制黏贴就好。
以上,就是全局引用的方式。

按需引入

按需引入我们只需要 在js文件中

引入想要的模块
import {Button} from 'mint-ui';
注册模块
Vue.component('my-btn', Button);

其中,my-btn是你手动定义的名字,比如我这里引用了Button ,那么将来直接引用my-btn就能呈现页面上按钮效果。
检测是否引用成功,可以 console.log(Button.name)来判断。

你以为就已经完毕了吗?不着急,还有最后一小步
我们需要安装依赖,使得能够支持按需引入

安装
npm install babel-plugin-component -D

安装完毕后 我们可以在当前目录下新建". babelrc "名称的文件,注意前面有个小点,当运行的时候,依赖会自动去查找.babelrc的文件,如果当前目录没有,那么会自动遍历整个文件目录,直到找到这个文件为止。

我们需要在这个文件里面配置一些东西

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

直接复制就好
上面操作完毕后,我们只需要引用自己的自定义的Vue.component('my-btn', Button);组件名称就可以使用了。JS的引用和局部引用一样,他们不受全局的影响。都是按需引用

注意,官网上写的["es2015", { "modules": false }]我们可以不必填写,这一句对我们的代码没有任何影响,已经过时,官网没有及时更新。我们只需要复制plugins的部分。

另外还需要注意,如果你的.babelrc文件里面已经有其他的配置,那么请复制plugins里面的内容追加到你的配置,使用逗号分隔。而不是全部覆盖你自己原有的代码。

这里还有一个大坑!!!

我这个版本,发现局部引用,如果不全局引用import 'mint-ui/lib/style.css',会造成局部引用没有样式的情况,解决办法就是全局引用一下样式。如果有遇到跟我一样问题的朋友,这样做就可以。

当然如果没有遇到这个问题的朋友,也可能是我自己哪里疏忽。

要是觉得帮助到你,那就留下一个小小的赞吧~

相关文章

网友评论

      本文标题:Mint-ui按需引入与全局引入踩坑

      本文链接:https://www.haomeiwen.com/subject/etqhlctx.html