我正在使用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 for JS代码。
在IDE中,我看到下面的错误,但最后一行 -
[eslint] 'process' is not defined. (no-undef)
任何想法出了什么问题?
答案 0 :(得分:29)
感谢@FelixKling和@Jaromanda X快速回复。
我已使用.eslintrc.json
file-
{
"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
}
}
当我收到错误时,我有"browser": true
而不是"node": true
。简单的错误。
答案 1 :(得分:5)
如果你安装了 eslint,在 .eslintrc.js 文件中添加 env: { node: true }
答案 2 :(得分:3)
在处理node js项目时。这可能对您有帮助。它对我有效
module.exports = {
"env": {
"node": true,
"browser": true,
"commonjs": true,
"es6": true
},
"extends": "eslint:recommended",
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018
},
"rules": {
}
};
答案 3 :(得分:2)
在现有环境列表中添加“ node”:“ true”也可以完成这项工作
"env": {
"node": true,
"commonjs": true,
"browser": true,
"es6": true
}
答案 4 :(得分:2)
此配置对我有帮助,也可以帮助其他人
{
"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"],
},
}
答案 5 :(得分:1)
将.eslintrc文件添加到项目的根目录(如果还没有),并定义要忽略的全局变量
print
确保在整个项目中都使用process.env,但只能在单个配置文件中使用。考虑添加{
"globals": {
"process": true
}
}
规则。
答案 6 :(得分:0)
解决此问题的另一种方法是简单地import process from "process"
。
尽管这不是绝对必要的,但人们可以认为无论如何这是更好的做法。