web-dev-qa-db-ja.com

Eslint:Node.jsの「予期しないコンソール文」を無効にする方法は?

私はSublime Text 3でeslintを使っていて、私はgulpfile.jsを書いています。

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

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

しかし、eslintはエラーを表示し続けます: "Error:予期しないコンソールステートメントです。(no-console)" eslint error

公式文書はこちら ですが、無効にする方法がまだわかりません。

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

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

うまくいかない。

私のSublime Text 3プラグイン:SublimeLinterとSublimeLinter-contrib-eslint。

これが私の.eslintrc.jsファイルです。

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"
};
181
Jean Y.C. Yang

ファイルのディレクトリに.eslintrc.jsを作成し、その中に次の内容を入れます。

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

これを恒久的に修正するためにeslint設定ファイルを更新する必要があります。それ以外の場合は、一時的に以下のようにコンソールのeslintチェックを有効または無効にすることができます。

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

vue-cli 3 package.jsonを開き、eslintConfigセクションの下にrulesの下にno-consoleを置き、devサーバーを再起動します(npm run serveまたはyarn serve

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

より良い方法は、ノード環境に基づいてconsole.logおよびdebuggerステートメントの表示を条件付きにすることです。

  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,
  },
21
Frank Spin

ローカルプロジェクトの下にeslintをインストールする場合は、ディレクトリ/ node_modules/eslint/conf /とそのディレクトリの下にファイルeslint.jsonがあるはずです。ファイルを編集して、値 "off"で "no-console"エントリを変更できます(ただし、0の値もサポートされています)。

"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",
    ....

この「設定」が役に立つことを願っています。

11
Jose M Bel

私は.eslintrc.jsという名前のファイルを生成するEmber.jsを使っています。 rulesオブジェクトに"no-console": 0を追加することは私にとっての仕事でした。更新されたファイルは次のようになります。

module.exports = {
  root: true,
  parserOptions: {
    ecmaVersion: 6,
    sourceType: 'module'
  },
  extends: 'eslint:recommended',
  env: {
    browser: true
  },
  rules: {
    "no-console": 0
  }
};
7
Benjineer

一度だけルールを無効にしたい場合は、 例外の答え を参照してください。

1行だけのルールを無効にすることでこれを改善できます。

...現在の行で:

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

...または次の行に

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

1行だけルールを無効にしたい場合は、以下はVSCodeのESLintで機能します。

次の行を無効にするには

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

現在の行を無効にするには

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

私のvueプロジェクトでは、この問題を次のように修正しました。

vim package.json
...
"rules": {
    "no-console": "off"
},
...

ps : package.json is a configfile in the vue project dir, finally the content shown like this:

{
  "name": "metadata-front",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "vue": "^2.5.17",
    "vue-router": "^3.0.2"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.0.4",
    "@vue/cli-plugin-eslint": "^3.0.4",
    "@vue/cli-service": "^3.0.4",
    "babel-eslint": "^10.0.1",
    "eslint": "^5.8.0",
    "eslint-plugin-vue": "^5.0.0-0",
    "vue-template-compiler": "^2.5.17"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {
        "no-console": "off"
    },
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}
3
huang botao

package.json にはeslintConfig行があります。あなたの「ルール」の行はこのように入ります。

  "eslintConfig": {
   ...
    "extends": [
      "eslint:recommended"
    ],
    "rules": {
      "no-console": "off"
    },
   ...
  },
1

ルールを1つ追加してenvを追加する必要があります。

{
  "rules": {
    "no-console": "off"
  },
  "env": {
    "browser": true
  }
}

他の環境変数を追加することができます。

1

これをプロジェクトの場所にある.eslintrc.jsファイルに入れても問題ありませんでした。

module.exports = {
    rules: {
        'no-console': 0
    }
};
0
beanwa