Vue3+Element-plus項(xiàng)目自動(dòng)導(dǎo)入報(bào)錯(cuò)的解決方案
前言
在創(chuàng)建 Vue3 + Element-plus 項(xiàng)目時(shí),根據(jù) Element-plus 文檔,采用自動(dòng)導(dǎo)入,安裝 unplugin-vue-components 和 unplugin-auto-import 兩款插件,但在按要求配置后運(yùn)行項(xiàng)目,npm 報(bào)錯(cuò)
ERROR SyntaxError: Unexpected token '?'
...\node_modules\unimport\dist\chunks\vue-template.cjs:55
const name = i.as ?? i.name;
網(wǎng)上查找發(fā)現(xiàn)當(dāng)前(20220601)并無相關(guān)解決方案,經(jīng)排查發(fā)現(xiàn)錯(cuò)誤是由 unplugin-auto-import 插件的依賴 unimport 包引發(fā),查看解決方法可直接跳轉(zhuǎn)至“解決方案”
安裝步驟
1.安裝插件
npm install -D unplugin-vue-components npm install -D unplugin-auto-import
兩個(gè)插件使用一條命令一起安裝可能出錯(cuò)
2.vue.config.js 設(shè)置
const { defineConfig } = require('@vue/cli-service')
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = defineConfig({
configureWebpack: {
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
},
)}3.npm run serve 出錯(cuò)

解決方案
1.問題原因
以下問題解決其一即可:
1.1 unimport 包報(bào)錯(cuò)
查找 unplugin-auto-import 插件的依賴 unimport 包,node_modules\unimport\dist\chunks\vue-template.cjs:55 位置的語句報(bào)錯(cuò):
const name = i.as ?? i.name;
1.2 node.js 和 npm 版本過低
筆者出現(xiàn)此問題時(shí),node.js 版本為 v12.18.0,npm 版本為 6.14.5
2.解決方法
降低 unplugin-auto-import 插件版本或升級(jí) node.js 和 npm 版本,選擇其一即可:
2.1 降低 unplugin-auto-import 插件版本
更換 unplugin-auto-import 插件版本,經(jīng)驗(yàn)證,安裝 unplugin-auto-import@0.72 及以前版本可規(guī)避此問題
npm install -D unplugin-auto-import@0.7.2
2.2 升級(jí) node.js 和 npm 版本
將 node.js 版本升級(jí)至長期維護(hù)版,20220601時(shí)為 v16.15.0,升級(jí)方法:從 node.js官網(wǎng) 下載長期維護(hù)版,安裝位置選擇與當(dāng)前 node.js 位置相同即可
將 npm 版本升級(jí)為與 node.js 版本匹配的推薦版本,20220601時(shí)為 8.10.0,升級(jí)方法:
npm install -g npm@8.10.0
補(bǔ)充:element-plus自動(dòng)按需導(dǎo)入及出錯(cuò)解決
自動(dòng)按需導(dǎo)入官網(wǎng)教程
首先:npm install -D unplugin-vue-components unplugin-auto-import
然后配置webpack.config.js
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = {
// ...
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
}
也可以直接配置babel.config.js,但是如果安裝版本過高可能在配置時(shí)會(huì)報(bào)錯(cuò),所以安裝指定版本
npm i element-plus@1.0.2-beta.28
1
module.exports = {
plugins: [
[
'import',
{
libraryName: 'element-plus',
customStyleName: (name) => {
return `element-plus/lib/theme-chalk/${name}.css`
}
}
]
],
}
按照官網(wǎng)自動(dòng)按需導(dǎo)入element-plus出現(xiàn)以下問題:樣式不生效
將安裝版本更換為npm i element-plus@1.0.2-beta.28
總結(jié)
到此這篇關(guān)于Vue3+Element-plus項(xiàng)目自動(dòng)導(dǎo)入報(bào)錯(cuò)解決的文章就介紹到這了,更多相關(guān)Vue3 Element-plus自動(dòng)導(dǎo)入報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 基于Vue3和element-plus實(shí)現(xiàn)登錄功能(最終完整版)
- vue3使用element-plus中el-table組件報(bào)錯(cuò)關(guān)鍵字'emitsOptions'與'insertBefore'分析
- vue3中實(shí)現(xiàn)使用element-plus調(diào)用message
- element-plus 在vue3 中不生效的原因解決方法(element-plus引入)
- Vue3.x中使用element-plus的各種方式詳解
- vue3引入Element-plus的詳細(xì)步驟記錄
- vue3?element-plus?實(shí)現(xiàn)表格數(shù)據(jù)更改功能詳細(xì)步驟
相關(guān)文章
手把手教你拿捏vue?cale()計(jì)算函數(shù)使用
這篇文章手把手教你拿捏vue?cale()計(jì)算函數(shù)使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
vue 實(shí)現(xiàn)搜索的結(jié)果頁面支持全選與取消全選功能
這篇文章主要介紹了vue 實(shí)現(xiàn)搜索的結(jié)果頁面支持全選與取消全選功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
vue實(shí)現(xiàn)element-ui對(duì)話框可拖拽功能
這篇文章主要介紹了vue實(shí)現(xiàn)element-ui對(duì)話框可拖拽功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
vue element ui使用選擇器實(shí)現(xiàn)地區(qū)選擇兩種方法
這篇文章主要給大家介紹了關(guān)于vue element ui使用選擇器實(shí)現(xiàn)地區(qū)選擇的兩種方法,Element UI是一套基于Vue.js開發(fā)的UI組件庫,其中包含了地區(qū)選擇器(Cascader)組件,需要的朋友可以參考下2023-09-09
vue?頂部消息橫向滾動(dòng)通知效果實(shí)現(xiàn)
系統(tǒng)頂部展示一個(gè)橫向滾動(dòng)的消息通知,就是消息內(nèi)容從右往左一直滾動(dòng),這篇文章主要介紹了vue頂部消息橫向滾動(dòng)通知,需要的朋友可以參考下2024-02-02

