'require' 和 'process' 在 ESlint 中没有定义。节点有问题?

ann*_*nna 21 node.js eslint

我在GitLab. 我更改了.eslint.json使用来自 StackOverflow 的信息的设置。但我仍然有问题。

我的.eslint.json样子:

{
  "extends": "eslint:recommended",
  "rules": {
    "semi": ["warn", "never"],
    "quotes": ["warn", "single"],
    "no-console": ["off"]
  },
  "parserOptions": {
    "ecmaVersion": 9
  },
  "env": {
    "es6": true,
    "node": true,
    "browser": true,
    "amd": true
  },
  "globals": {
    "$": true,
    "require": true
    "process": true
  },
  "root": true
}
Run Code Online (Sandbox Code Playgroud)

env我添加"adm": true和在globals我添加"process": true"require": true

错误是:

错误 'require' 未定义 no-undef

错误“进程”未定义 no-undef

错误所在的文件如下所示:

{
  "extends": "eslint:recommended",
  "rules": {
    "semi": ["warn", "never"],
    "quotes": ["warn", "single"],
    "no-console": ["off"]
  },
  "parserOptions": {
    "ecmaVersion": 9
  },
  "env": {
    "es6": true,
    "node": true,
    "browser": true,
    "amd": true
  },
  "globals": {
    "$": true,
    "require": true
    "process": true
  },
  "root": true
}
Run Code Online (Sandbox Code Playgroud)

那么问题出在哪里呢?这是 env 节点的问题吗?我该如何解决这个问题?

Raj*_*jan 75

要在配置文件中指定环境,请使用 env 键并通过将 each 设置为 true 来指定要启用的环境。例如,以下启用浏览器、es6 和 Node.js 环境:

在您的.eslintrc.js文件中;

...
env: {
   browser: true,
   node: true,    <<<<--- Add this
   es6: true
 },
...
Run Code Online (Sandbox Code Playgroud)

  • 在设置过程中,它询问我是否应该将 eslint 用于浏览器或节点。我选择了节点。但正如您所指出的,看来我们也必须填写这一部分。我永远不会明白这一点。非常感谢! (4认同)
  • 这个答案对我有用。它不再被称为“.eslintrc.js”,而是被称为“.eslintrc”。 (2认同)
  • 添加 ```node:true``` 修复了我的 Webpack 配置文件中的 eslint 错误。谢谢你! (2认同)
  • `node:true` 还帮助我解决了 eslint 错误。TX! (2认同)

Vas*_*kov 0

重命名.eslint.json.eslintrc.json或确保eslintConfig在 package.json 中指定

https://eslint.org/docs/user-guide/configuring

还要确保它eslint在 .eslintrc.json 所在的目录中启动,并且不使用--no-eslintrc选项启动。