Eslint: Wie deaktiviere ich “unerwartete Konsolenanweisung” in Node.js?

Lesezeit: 4 Minuten

Benutzer-Avatar
Jean YC Yang

Ich verwende eslint mit Sublime Text 3 und schreibe gulpfile.js.

/*eslint-env node*/
var gulp = require('gulp');

gulp.task('default', function(){
    console.log('default task');
});

Aber eslint zeigt weiterhin Fehler an: “Error: Unexpected console statement. (no-console)”
Eslint-Fehler

ich fand offizielles Dokument hieraber ich weiß immer noch nicht, wie ich es deaktivieren kann.

/*eslint-env node*/
var gulp = require('gulp');

/*eslint no-console: 2*/
gulp.task('default', function(){
    console.log('default task');
});

geht auch nicht.

Meine Sublime Text 3-Plugins: SublimeLinter und SublimeLinter-contrib-eslint.

Hier ist meins .eslintrc.js Datei:

module.exports = {
    "rules": {
        "no-console":0,
        "indent": [
            2,
            "tab"
        ],
        "quotes": [
            2,
            "single"
        ],
        "linebreak-style": [
            2,
            "unix"
        ],
        "semi": [
            2,
            "always"
        ]
    },
    "env": {
        "browser": true,
        "node": true
    },
    "extends": "eslint:recommended"
};

Benutzer-Avatar
markasoftware

Erstellen Sie eine .eslintrc.js im Verzeichnis Ihrer Datei und fügen Sie den folgenden Inhalt darin ein:

module.exports = {
    rules: {
        'no-console': 'off',
    },
};

  • Nun, laut der offiziellen Github-Seite für das Eslint-Plugin (github.com/roadhump/…), das Ablegen einer .eslintrc-Datei in Ihren Projektordner sollte ausreichen … um mit dem Debuggen fortzufahren, würde ich empfehlen, eslint über die Befehlszeile auszuführen. Installieren Sie einfach node.js, wenn Sie es nicht installiert haben, und führen Sie es dann aus npm install eslint von einer Konsole/Eingabeaufforderung, navigieren Sie dann zu Ihrem Projektordner in einer Konsole/Eingabeaufforderung und führen Sie es aus eslint .

    – markasoftware

    11. Dezember 2015 um 3:38 Uhr

  • es funktioniert (für mich), wenn die Datei .eslintrc.json heißt

    – AlexWien

    16. November 2016 um 20:26 Uhr


  • Alternativ können Sie auch schreiben "rules": {"no-console": "off"} weniger kryptisch sein. "warn" und "error" sind die anderen 2 Optionen.

    – Klobiger Brocken

    5. Februar 2017 um 19:27 Uhr

  • Die ESLint-Konfigurationsdatei war früher einfach .eslintrc aber jetzt ist das veraltet und sollte nach dem verwendeten Format benannt werden, z .eslintrc.js, .eslintrc.yamletc.

    – Colin D. Bennett

    28. Juni 2017 um 15:55 Uhr

  • Funktioniert nicht drin vue-cli 3: siehe Antwort stackoverflow.com/a/53333105/150370

    – Deutscher Latorre

    11. Juli 2019 um 11:38 Uhr


Benutzer-Avatar
Ausnahme

Sie sollten die eslint-Konfigurationsdatei aktualisieren, um dies dauerhaft zu beheben. Andernfalls können Sie die Eslint-Prüfung für die Konsole wie unten vorübergehend aktivieren oder deaktivieren

/* eslint-disable no-console */
console.log(someThing);
/* eslint-enable no-console */

  • Wie konfiguriere ich meine .eslintrcBitte sagen Sie mir?

    – Jean YC Yang

    11. Dezember 2015 um 3:56 Uhr

  • Es ist nicht erforderlich, beide Zeilen hinzuzufügen. Mit nur setzen vorheriger von Ihnen console.log Die folgende Ausnahme reicht aus: eslint-disable-next-line no-console.

    – Jonathan Brizio

    24. November 2018 um 23:56 Uhr

  • Danke @JonathanBrizio, genau das wollte ich. Eine schnelle und schmutzige Lösung, um etwas zu debuggen. Wenn ich fertig bin, entferne ich die Zeile console.log. Ich möchte die Eslint-Regeln nicht dauerhaft ändern.

    – Gael

    29. September 2021 um 8:37 Uhr


Benutzer-Avatar
GiorgosK

Zum vue-cli 3 offen package.json und unter Abschnitt eslintConfig stellen no-console unter rules und starten Sie den Dev-Server neu (npm run serve oder yarn serve)

...
"eslintConfig": {
    ...
    "rules": {
      "no-console": "off"
    },
    ...

  • Danke, da die @markasoftware-Lösung nicht funktioniert, wenn Sie für ein Cue-Cli-Projekt hierher kommen.

    – Muenalan

    2. Dezember 2018 um 17:34 Uhr

  • package.json ist nicht die einzige Möglichkeit, dies zu tun. Separate Konfigurationsdateien sind ebenfalls ein Standard.

    – Michael Kohl

    25. März 2019 um 17:55 Uhr

  • Vielen Dank! Du hast meinen Tag gerettet.

    – Anke

    29. Oktober 2019 um 19:05 Uhr

  • Vielen Dank! Regeln in Dokumenten: Konfiguration eslint.org/docs/user-guide/configuring#configuring-rulesRegeln: eslint.org/docs/rules

    – Dennis

    9. Dezember 2019 um 14:41 Uhr

  • die im Root-Ordner @MaxRocket

    – GiorgosK

    23. Januar 2020 um 15:45 Uhr

Folgendes funktioniert mit ESLint in VSCode, wenn Sie die Regel nur für eine Zeile deaktivieren möchten.

So deaktivieren Sie die nächste Zeile:

// eslint-disable-next-line no-console
console.log('hello world');

So deaktivieren Sie die aktuelle Zeile:

console.log('hello world'); // eslint-disable-line no-console

Eine schönere Option besteht darin, die Anzeige von console.log- und Debugger-Anweisungen abhängig von der Knotenumgebung zu machen.

  rules: {
    // allow console and debugger in development
    'no-console': process.env.NODE_ENV === 'production' ? 2 : 0,
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
  },

  • Konsolenmeldungen werden weiterhin in der Produktionsumgebung gedruckt

    – Sanyam Jain

    27. Mai 2020 um 10:00 Uhr

  • Wie würde das funktionieren, wenn .eslintrc in JSON keine reguläre js-Datei ist?

    Benutzer4609276

    26. Juli 2020 um 20:11 Uhr

Benutzer-Avatar
José M. Bel

Wenn Sie eslint unter Ihrem lokalen Projekt installieren, sollten Sie ein Verzeichnis /node_modules/eslint/conf/ und unter diesem Verzeichnis eine Datei eslint.json haben. Sie könnten die Datei bearbeiten und den Eintrag “no-console” mit dem Wert “off” ändern (obwohl der Wert 0 auch unterstützt wird):

"rules": {
    "no-alert": "off",
    "no-array-constructor": "off",
    "no-bitwise": "off",
    "no-caller": "off",
    "no-case-declarations": "error",
    "no-catch-shadow": "off",
    "no-class-assign": "error",
    "no-cond-assign": "error",
    "no-confusing-arrow": "off",
    "no-console": "off",
    ....

Ich hoffe, diese “Konfiguration” konnte Ihnen helfen.

  • Konsolenmeldungen werden weiterhin in der Produktionsumgebung gedruckt

    – Sanyam Jain

    27. Mai 2020 um 10:00 Uhr

  • Wie würde das funktionieren, wenn .eslintrc in JSON keine reguläre js-Datei ist?

    Benutzer4609276

    26. Juli 2020 um 20:11 Uhr

Benutzer-Avatar
Koen

Wenn Sie die Regel nur einmal deaktivieren möchten, sollten Sie sich die Antwort von Exception ansehen.

Sie können dies verbessern, indem Sie die Regel nur für eine Zeile deaktivieren:

… in der aktuellen Zeile:

console.log(someThing); /* eslint-disable-line no-console */

… oder in der nächsten Zeile:

/* eslint-disable-next-line no-console */
console.log(someThing);

1315490cookie-checkEslint: Wie deaktiviere ich “unerwartete Konsolenanweisung” in Node.js?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy