📜  模块'未定义. eslint (1)

📅  最后修改于: 2023-12-03 15:10:56.974000             🧑  作者: Mango

ESLint 报错:“模块未定义”

问题描述

当我们在使用 ESLint 进行代码检查时,有可能会遇到如下错误提示:

'module' is not defined.

这个错误提示是因为在我们的代码中使用了模块语法(如 importexport),但是由于代码在运行前经过了 ESLint 的检查,而 ESLint 默认并不支持模块语法的解析,因此会报出这个错误。

解决方法

要解决这个问题,我们需要在 ESLint 的配置文件中增加对模块语法的支持。以 .eslintrc.js 为例,我们需要在其中加上如下的配置:

module.exports = {
  // ...
  parserOptions: {
    ecmaVersion: 6,
    sourceType: "module",
    ecmaFeatures: {
      jsx: true
    }
  }
};

这个配置项主要包括三个部分:

  • ecmaVersion: 6: 声明我们的代码是 ECMAScript 6 标准的代码。
  • sourceType: "module": 声明我们的代码使用了模块语法。
  • ecmaFeatures: { jsx: true }: 如果我们的代码使用了 JSX 语法,那么我们需要在这里声明其使用情况。

配置好后,保存配置文件,再次运行 ESLint 检查,就不会再出现这个错误了。

结论

当在代码中使用了模块语法时,ESLint 报错 “模块未定义”的问题很容易出现。解决这个问题需要在 ESLint 的配置文件中增加对模块语法的支持。