Eslint: как отключить "неожиданный оператор консоли"в узле.Яш?

я использую eslint с Sublime Text 3, и я пишу gulpfile.js.

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

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

но eslint продолжает показывать ошибку: "Ошибка: неожиданный оператор консоли. (нет-консоль)" 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.


** редактировать ** Вот мой :

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

7 ответов


создать .eslintrc.js в каталоге вашего файла и поместите в него следующее содержимое:

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

вы должны обновить файл конфигурации eslint, чтобы исправить это навсегда. В противном случае вы можете временно включить или отключить проверку eslint для консоли, как показано ниже

/* eslint-disable no-console */
console.log(someThing);
/* eslint-enable no-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,
  },

Если вы устанавливаете eslint в своем локальном проекте, у вас должен быть каталог /node_modules/eslint/conf/ и под этим каталогом файл eslint.формат JSON. Вы можете отредактировать файл и изменить запись "no-console" со значением " off " (хотя значение 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",
    ....

Я надеюсь, что эта "конфигурация" может помочь вам.


Я использую Ember.js, который генерирует файл с именем .eslintrc.js. Добавление "no-console": 0 чтобы объект правил сделал работу за меня. Обновленный файл выглядит следующим образом:

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

Если вы просто хотите отключить правило один раз, вы хотите посмотреть на исключения.

вы можете улучшить это, отключив правило только для одной строки:

... на текущей строке:

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

... или на следующей строчке:--5-->

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

вы должны добавить одно правило и добавить свой env:

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

вы можете добавить envs.