element-ui中按需引入的實現(xiàn)
element-ui中按需引入
為什么選擇 element-ui 而不是 iview
因為在多次使用兩個組件的過程中慢慢發(fā)現(xiàn),iview 的一些組件還是需要再完善,而 element-ui 現(xiàn)在更加的成熟
所以, 這里我們一起來學習一下在 vue 中按需引入 element-ui 一些組件中的坑(Dialog組件)
這里我們使用的版本是 element-ui : 2.4.7,vue: 2.2.2
1、按需引入
1. 借助 babel-plugin-component,我們可以只引入需要的組件,以達到減小項目體積的目的:
npm install babel-plugin-component -D
2. 更改.babelrc文件
"plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ]
當然這里如果有其他的配置,只需要在 plugins 的數(shù)組中繼續(xù)添加我們需要的配置代碼就行了
2、 我們將按需引入的代碼單獨分割一下
1. 在 src 文件夾中新建我們的 element 文件夾,并在里面新建一個 index.js 文件
2. 在index文件中去書寫我們需要引入的部分組件
// 導入自己需要的組件 import { Select, Option, OptionGroup, Input, Tree, Dialog, Row, Col } from 'element-ui' const element = { install: function (Vue) { Vue.use(Select) Vue.use(Option) Vue.use(OptionGroup) Vue.use(Input) Vue.use(Tree) Vue.use(Dialog) Vue.use(Row) Vue.use(Col) } } export default element
這里要使用 Select 組件,必須同時使用 Option 和 OptionGroup
這里的 install 方法表示在 main.js 中,如果使用 Vue.use() 方法的話,則該方法默認會調用 install 方法
3. 在 main.js 中使用該文件,就大功告成了
// css樣式還是需要全部引入 import 'element-ui/lib/theme-chalk/index.css' import element from './element/index' Vue.use(element)
3、為什么要使用 單獨分割的方式去按需加載
1. 我們使用常規(guī)的方式再來加載一次在 main.js 文件中 直接使用
import 'element-ui/lib/theme-chalk/index.css' import { Dialog, Select, Option, OptionGroup, Input, Tree, Row, Col } from 'element-ui' Vue.use(Select) Vue.use(Option) Vue.use(OptionGroup) Vue.use(Input) Vue.use(Tree) Vue.use(Dialog) Vue.use(Row) Vue.use(Col)
不好意思,現(xiàn)在就報錯了
我們在 element-ui 的源碼中可以看到,的確使用的是 Dialog,但是我們在運行的時候還是報錯了
2. 我們將引入的 Dialog 做一些修改,如下圖
可以看到,我們現(xiàn)在改成小寫,項目是可以正常運行的,應該是不是 element-ui 的一些小失誤吧,這樣的寫法會將我們的 main.js 文件變得很大很復雜,所以我們建議是 使用第一中方式來按需加載 element-ui 的一些組件
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
上一篇:vue中watch和computed為什么能監(jiān)聽到數(shù)據(jù)的改變以及不同之處
欄 目:JavaScript
下一篇:node實現(xiàn)mock-plugin中間件的方法
本文地址:http://mengdiqiu.com.cn/a1/JavaScript/9388.html
您可能感興趣的文章


閱讀排行
本欄相關
- 04-02javascript點線,點線的代碼
- 04-02javascript潛力,javascript強大嗎
- 04-02javascript替換字符串,js字符串的替換
- 04-02javascript移出,js 移入移出
- 04-02包含javascript舍的詞條
- 04-02javascript并行,深入理解并行編程 豆瓣
- 04-02javascript匿名,js匿名方法
- 04-02javascript警報,JavaScript警告
- 04-02javascript遮蓋,JavaScript遮蓋PC端頁面
- 04-02javascript前身,javascript的前身
隨機閱讀
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 01-11ajax實現(xiàn)頁面的局部加載
- 04-02jquery與jsp,用jquery
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實例總結
- 01-10使用C語言求解撲克牌的順子及n個骰子