vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3编译报错ESLint:defineProps is not defined no-undef

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配置可以解决

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文