web-dev-qa-db-ja.com

ESLint-「プロセス」が定義されていません

単純なノードプロジェクトに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エディターを使用しています。 JSコードのESLintが自動的に実行されます。

IDEでは、最後の1行について以下のエラーが表示されます-

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

何が悪いのですか?

19
Arunko

迅速な対応をしてくれた@FelixKlingと@Jaromanda Xに感謝します。

.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
    }
}

エラーが発生したとき、"browser": trueの代わりに"node": trueがありました。単純な間違い。

41
Arunko

「ノード」:「true」を既存の環境のリストに追加することでも、仕事ができます

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

プロジェクトのルートに.eslintrcファイルを追加し(まだない場合)、無視するグローバルを定義します

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

プロジェクトではなく、単一の構成ファイルでのみprocess.envを使用してください。 no-process-envruleの追加を検討してください。

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

5
t-reksio