Vue3報(bào)錯(cuò)‘defineProps‘?is?not?defined的解決方法
前言
2021年結(jié)束了,Vite 的版本也升級(jí)了,現(xiàn)在試試新版 Vite 搭建 Vue 項(xiàng)目。
按照 vue3一步一步的詳細(xì)講解配置ESLint 中 vue 官方推薦安裝 ESLint 的方式安裝 Eslint,結(jié)果發(fā)現(xiàn) 'defineProps' is not defined 報(bào)錯(cuò),現(xiàn)在來(lái)解決這個(gè)問(wèn)題。

環(huán)境
vite 2.7.2vue 3.2.25
配置
// .eslintrc.js
module.exports = {
root: true,
env: {
node: true
},
extends: [
'plugin:vue/vue3-essential',
'@vue/standard'
],
parserOptions: {
ecmaVersion: 2020
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
}
}
安裝 ESlint 后
// package.json
{
"name": "my-vue-app1",
"version": "0.0.0",
"scripts": {
"build": "vite build",
"lint": "vue-cli-service lint",
"dev": "vite",
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.2.25"
},
"devDependencies": {
"@vitejs/plugin-vue": "^2.0.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/eslint-config-standard": "^5.1.2",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^7.0.0",
"vite": "^2.7.2"
}
}
定位問(wèn)題
defineProps 屬于 Vue3 的規(guī)則校驗(yàn),需要在 eslint-plugin-vue官方指南中尋找對(duì)應(yīng)配置。

添加對(duì)應(yīng)配置即可
修改配置
// .eslintrc.js
module.exports = {
root: true,
env: {
node: true,
'vue/setup-compiler-macros': true
},
extends: [
'plugin:vue/vue3-essential',
'@vue/standard'
],
parserOptions: {
ecmaVersion: 2020
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
}
}
結(jié)果新出現(xiàn)了一個(gè)報(bào)錯(cuò) Environment key "vue/setup-compiler-macros" is unknown

根據(jù)提示可知,是當(dāng)前依賴包 eslint-plugin-vue 中沒(méi)有 vue/setup-compiler-macros 規(guī)則,故需升級(jí) eslint-plugin-vue,當(dāng)前最新版本是 8.4.0
yarn upgrade eslint-plugin-vue@8.4.0 -D # OR npm update --save-dev eslint-plugin-vue@8.4.0
出現(xiàn)報(bào)錯(cuò),安裝最新版本 node 即可解決。

eslint-plugin-vue@8.4.0: The engine “node” is incompatible with this module. Expected version “^12.22.0 || ^14.17.0 || >=16.0.0”. Got “14.15.0”
當(dāng)安裝成功后,Environment key "vue/setup-compiler-macros" is unknown 報(bào)錯(cuò)問(wèn)題解決。

最后項(xiàng)目整體就沒(méi)報(bào)錯(cuò)了。
總結(jié)
解決一個(gè)問(wèn)題,可能出現(xiàn)新的待解決問(wèn)題,都解決后,問(wèn)題就迎刃而解。
到此這篇關(guān)于Vue3報(bào)錯(cuò)‘defineProps‘ is not defined的解決方法的文章就介紹到這了,更多相關(guān)Vue3 ‘defineProps‘ is not defined內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中data和data()的區(qū)別說(shuō)明
這篇文章主要介紹了vue中data和data()的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
vue實(shí)現(xiàn)圖片路徑轉(zhuǎn)二進(jìn)制文件流(binary)
這篇文章主要介紹了vue實(shí)現(xiàn)圖片路徑轉(zhuǎn)二進(jìn)制文件流(binary),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)
這篇文章主要介紹了部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
vue3 onMounted異步函數(shù)同步請(qǐng)求async/await實(shí)現(xiàn)
這篇文章主要為大家介紹了vue3 onMounted初始化數(shù)據(jù)異步函數(shù)/同步請(qǐng)求async/await實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
VUE腳手架框架編寫(xiě)簡(jiǎn)潔的登錄界面的實(shí)現(xiàn)
本文主要介紹了VUE腳手架框架編寫(xiě)簡(jiǎn)潔的登錄界面的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
vue3+ts+element-plus實(shí)際開(kāi)發(fā)之統(tǒng)一調(diào)用彈窗封裝的詳細(xì)過(guò)程
這篇文章主要介紹了vue3+ts+element-plus實(shí)際開(kāi)發(fā)之統(tǒng)一調(diào)用彈窗封裝的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03
Vue中nvm-windows的安裝與使用教程(親測(cè))
nvm全英文也叫node.js version management,是一個(gè)nodejs的版本管理工具,這篇文章主要介紹了Vue中nvm-windows的安裝與使用,需要的朋友可以參考下2023-02-02

