.eslintrc.js出现ESLint'module'未定义报错的含义及解决方法
错误含义
这个报错的本质是ESLint在校验.eslintrc.js文件时,无法识别module这个全局变量。.eslintrc.js本身是运行在Node.js环境下的CommonJS模块,通常我们会用module.exports导出ESLint配置规则。如果你的ESLint配置没有开启Node.js环境的全局变量声明,ESLint就会认为module是未定义的变量,从而抛出这个错误。
修复方案
- 方案1:开启ESLint的Node.js环境声明(最常用)
在你的.eslintrc.js配置文件中找到env字段,添加node: true即可。配置后ESLint会自动识别所有Node.js环境下的内置全局变量(包括module、require、__dirname等),不会再抛出同类报错。
示例配置:module.exports = { env: { node: true, // 新增该行配置 browser: true, es2022: true }, // 其余规则、扩展等配置保持不变 } - 方案2:单独为
.eslintrc.js声明全局变量
如果你不想全局开启Node环境变量识别(比如你的项目前端代码不允许使用Node相关全局变量),可以直接在.eslintrc.js文件顶部添加注释,单独声明module为全局变量:/* global module */ module.exports = { // 你的ESLint配置内容 } - 方案3:忽略
.eslintrc.js的校验
如果你不需要ESLint校验配置文件本身,可以直接在项目根目录的.eslintignore文件中添加一行.eslintrc.js,让ESLint直接跳过对该文件的所有校验。
内容的提问来源于stack exchange,提问作者lotaquestions
相关产品推荐
相关产品推荐

