vue3编译报错ESLint:defineProps is not defined no-undef的问题
作者:左直拳
这篇文章主要介绍了vue3编译报错ESLint:defineProps is not defined no-undef的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue3编译报错ESLint:defineProps is not defined no-undef
解决之道
在/package.json的eslintConfig.env中加入一行:
"vue/setup-compiler-macros": true
网上找答案,总是扯什么修改.eslint.js文件,须知改文件位于node_modules,如大海捞针,并且有多个。
改这里是没有道理的,也没有效果。
可能是很久之前的答案了吧。
vue2.7 vue-cli项目中使用unplugin-vue-define-options
安装unplugin-vue-define-options
配置vue.config.js
module.exports = { // ...省略其他无关配置 configureWebpack: (config) => { config.plugins.push(require('unplugin-vue-define-options/webpack')()) }, }
如果使用了ts配置tsconfig.json
{ "compilerOptions": { // ....省略其他无关配置 "types": [ // ....省略其他无关配置 "unplugin-vue-define-options/macros-global" ], // ....省略其他无关配置 }
在组件中使用即可
<script setup lang="ts"> defineOptions({ name: 'Foo', inheritAttrs: false, }) </script>
如果在开发模式下出现关于defineOptions引用错误,检查一下是否使用了unplugin-vue2-script-setup
我就遇到了,去掉这个插件后就没问题了如果在构建后出现ReferenceError: defineOptions is not defined错误,在vue.config.js中添加parallel: false配置可以解决
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。