vue3+elementPlus自动按需引入,安装了eslint后,一直报ElMessage is not defined

207 阅读1分钟

诱因:由于自动引入,没有声明语句,eslint无法辨别

方法一:(推荐)

  • eslint.config.js中的globals里注册对应类型的全局变量 (添加完后需重新运行项目)

    {
        languageOptions: {
          globals: {
            ...globals.browser,
            ElMessage: "readonly", // 声明 ElMessage 为全局变量
            ElMessageBox: "readonly",
            ElLoading: "readonly",
            // 如果还有其他 Element Plus 组件或方法需要声明,可以继续添加
          }
        }
      },
    

方法二:(根据业务情况使用)

  • 在报错页面加/* global ElMessage */
  • 缺点:每个用的ElMessage的页面都要加,不然会报错

方法三:(不推荐)

  • 直接禁用eslint对于未定义属性的规则