vue使用element-ui按需引入時踩過的那些坑
眾所周知,使用element-ui,為了達到減小項目體積的目的 ,我們在實際項目中更多的是采用按需引入的方法, 下面就來講講那些我踩過的坑。
步驟:
第一步:安裝 element-ui 時把 element 也安裝一下,
執(zhí)行命令 npm i element-ui -S 和 npm i element -S
第二步:安裝 babel-plugin-component ,
執(zhí)行命令 npm install babel-plugin-component -D
第三步 :踩坑一: element-ui文檔中是修改 .babelrc 文件中的配置,實際上我們的文檔中根本沒有這個文件夾,所以我們需要修改的是 bable.config.js 文件中的配置。
踩坑二: element-ui文檔中提示讓將配置改為這樣,于是就把 bable.config.js 文件配置成這樣

但是我們啟動會報錯 ‘Error: Cannot find module 'babel-preset-es2015'’
這是因為缺少依賴 babel-preset-es2015 , 現(xiàn)在我們執(zhí)行命令npm i babel-preset-es2015 --save 下載依賴,
然后啟動之后還是會報錯 ,于是我各種查資料文檔得知:報錯關于es2015,,這個是為了兼容ie(9-11),需要引入es2015,
所以需要把 babel-polyfill 和 babel-preset-es2015 兩個npm 引入到package.json里(兩個都要下載才可以),然后啟動項目就可以了(但是這個方法容易因為版本不匹配報錯,所以更推薦使用下面的方法)。
踩坑三: 可以將 es2015 換成這個 @babel/preset-env ,但是同時也需要下載依賴,執(zhí)行命令npm i @babel/preset-env -D ,
踩坑四: 但是此時也會報錯:‘# 源文本中存在無法識別的標記。。。’
那是因為 npm 無法識別 @ 符號,解決方法:只需要使用引號將要安裝的依賴包名包起來就解決了。
所以最后執(zhí)行的命令為: npm i '@babel/preset-env' -D 。
然后 bable.config.js文件的配置是這樣:
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset',
["@babel/preset-env", { "modules": false }]
],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}配置的坑就完了,接下來是引入:這個引入文檔上寫得還是不錯,
但是有一點需要注意, 踩坑五:
組件中我使用了布局容器:
<el-container>
<el-header>Header</el-header>
<el-main>Main</el-main>
</el-container>我認為這個都是Container 布局容器,在 main.js 中這樣引入即可:
//element-ui按需引入
import {
Container
} from 'element-ui'
Vue.use(Container);結(jié)果總是報錯:‘Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option. ’ 無論我怎么檢查都是錯的,絞盡腦汁啊,終于我發(fā)現(xiàn)了,為什么沒有報 el-container 的錯,所以我成功了
每一個不同的標簽都是一個不同組件,使用都需要分別引入,正確的是這樣:
//element-ui按需引入
import {
Container,Header,Main
} from 'element-ui'
Vue.use(Container);
Vue.use(Header);
Vue.use(Main);你有踩過哪些坑? 歡迎探討交流
總結(jié)
到此這篇關于vue使用element-ui按需引入時踩坑的文章就介紹到這了,更多相關vue element-ui按需引入時踩坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue?Router?實現(xiàn)登錄后跳轉(zhuǎn)到之前想要訪問的頁面
這篇文章主要介紹了Vue?Router?實現(xiàn)登錄后跳轉(zhuǎn)到之前相要訪問的頁面,本文僅演示路由跳轉(zhuǎn)和導航守衛(wèi)相關代碼的實現(xiàn),不包含具體的權限驗證和登錄請求,需要的朋友可以參考下2022-12-12
vue2.x 通過后端接口代理,獲取qq音樂api的數(shù)據(jù)示例
今天小編就為大家分享一篇vue2.x 通過后端接口代理,獲取qq音樂api的數(shù)據(jù)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
基于webpack4+vue-cli3項目實現(xiàn)換膚功能
這篇文章主要介紹了基于webpack4+vue-cli3項目的換膚功能,文中是通過scss+style-loader/useable做換膚功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07

