没有定义“进程”

我使用 ESLinter 做一个简单的节点项目,下面是 index.js 中的唯一代码:

const express = require('express');
const app = express();


app.get('/', (req, res) => {
res.send({
hi: 'there'
});
});


const PORT = process.env.PORT || 5000;
app.listen(PORT);

我正在使用 VSCode编辑器。它自动运行 ESLint 的 JS 代码。

在 IDE 中,我看到下面最后一行的错误-

[eslint] 'process' is not defined. (no-undef)

知道是怎么回事吗?

75373 次浏览

当我得到错误,我有 "browser": true而不是 "node": true

我用下面的 .eslintrc.json文件配置修复了这个问题-

{
"env": {
"node": true,
"commonjs": true
},
"extends": "eslint:recommended",
"rules": {
"indent": [
"error",
"tab"
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
]
},
"parserOptions": {
"ecmaVersion": 2015
}
}

谢谢@Felix Kling 和@Jaromanda X 的快速回复。

将“ node”: “ true”添加到现有的环境列表中也可以完成这项工作

"env": {
"node": true,
"commonjs": true,
"browser": true,
"es6": true
}

将. eslintrc 文件添加到项目的根目录(如果还没有的话) ,并定义要忽略的全局变量

{
"globals": {
"process": true
}
}

确保在整个项目中使用 process.env,但是只能在单个配置文件中使用。

Https://eslint.org/docs/rules/no-process-env

当工作在节点 js 项目。这可能会帮助你。它是工作在我的一端。

module.exports = {
"env": {
"node": true,
"browser": true,
"commonjs": true,
"es6": true
},
"extends": "eslint:recommended",
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018
},
"rules": {
}
};

这个配置帮助了我,也可以帮助其他人。

{
"parser": "babel-eslint",
"parserOptions": {
"ecmaFeatures": {
"jsx": true,
"modules": true
},
"ecmaVersion": 2020,
"sourceType": "module",
"useJSXTextNode": true,
"warnOnUnsupportedTypeScriptVersion": false
},
"root": true,
"env": {
"browser": true,
"es6": true,
"node": true,
"commonjs": true
},
"extends": [ "eslint:recommended"],
}
}

解决这个问题的另一个方法是简单地使用 import process from "process"

尽管严格来说这并不是必须的,但有人可能会说这是更好的做法。

如果已经安装了 eslint,请将 env: { node: true }添加到. eslintrc.js 文件中

如果在设置 "node": true,之后仍然出现错误,请记住安装 @types/node

npm i -D @types/node


yarn add -D @types/node

.eslintrc.js文件中添加这些 env 行。

module.exports = {
"env": {
"browser": true,
"commonjs": true,
"node": true,
"es2021": true,
"jest": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": "latest"
},
"rules": {
}
}