如何让 eslint 识别全局导入变量并消除 ‘not defined’ 警告?
使用全局导入时,eslint 可能会显示 ‘not defined’ 警告,这令人烦恼。要解决此问题,必须向 eslint 指出已导入的变量已在全局范围内定义。
在您的 eslint 配置(.eslintrc.cjs)中,可以在 env 对象中添加 jest: true 或 mocha: true。此设置将指示 eslint 在 jest 或 mocha 测试环境中运行,这将自动识别全局变量。
如果这不起作用,另一种方法是使用 globals 配置显式声明全局变量。例如:
module.exports = { ... env: { ... globals: { myGlobalVariable: 'readonly' } }, ... };
通过这种方式,eslint 将了解这些变量是全局可用的,并消除不需要的警告。另外,确保配置文件中忽略了测试文件,以避免不必要的检查。