web-dev-qa-db-fra.com

ESLint - 'processus' n'est pas défini

J'utilise ESLinter pour un projet de nœud simple. Ci-dessous, le seul code que j'ai dans 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);

J'utilise VSCode editor. Il exécute automatiquement ESLint pour le code JS.

Dans l'EDI, je vois ci-dessous une erreur pour l'avant dernière ligne -

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

Une idée de ce qui ne va pas?

19
Arunko

Merci @FelixKling et @Jaromanda X pour leurs réponses rapides.

J'ai corrigé cela avec la configuration suivante pour .eslintrc.json fichier-

{
    "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
    }
}

Quand j'ai eu une erreur, j'avais "browser": true au lieu de "node": true. Simple erreur.

41
Arunko

L'ajout de "node": "true" à une liste d'environnements existante fera également l'affaire.

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

Ajoutez le fichier .eslintrc à la racine de votre projet (si vous n'en avez pas déjà) et définissez les globales à ignorer

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

Assurez-vous d’utiliser process.env dans le projet mais dans un seul fichier de configuration. Envisagez d'ajouter no-process-envrègle.

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

5
t-reksio