问题:使用 Vue 3 Setup 时 ESLint 报错 ‘defineProps’ is not defined

官网描述:defineProps 和 defineEmits 都是只在 script setup 中才能使用的编译器宏。他们不需要导入且会随着 script setup 处理过程一同被编译掉。

理论上我们不需要导入就可以使用,但是eslint会报警。

我的eslint配置

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    "plugin:vue/vue3-essential",
    "eslint:recommended",
    "prettier",
    "@vue/prettier",
  ],
  plugins: ["prettier"],
  parserOptions: {
    parser: require("babel-eslint"),
  },
  rules: {
    "prettier/prettier": "error",
    "arrow-body-style": "off",
    "prefer-arrow-callback": "off",
  },
};

解决方法(查阅eslint-vue官网)

将eslint:recommended注释,使用plugin:vue/vue3-recommended,完美解决

extends: [
    "plugin:vue/vue3-essential",
    // "eslint:recommended",
    "plugin:vue/vue3-recommended",
    "prettier",
    "@vue/prettier",
  ],
Logo

前往低代码交流专区

更多推荐