Eslint : Node.js에서“예기치 않은 콘솔 명령문”을 비활성화하는 방법은 무엇입니까?


268

Sublime Text 3과 함께 eslint를 사용하고 gulpfile.js있습니다.

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

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

그러나 eslint는 "오류 : 예기치 않은 콘솔 명령문 (콘솔 없음)"오류가 계속 표시됩니다. 엘리트 오류

공식 문서를 여기 에서 찾았 지만 여전히 사용 중지 방법을 모르겠습니다.

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

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

작동하지 않습니다.

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

답변:


451

파일 디렉토리에 .eslintrc.js를 작성하고 다음 내용을 파일에 넣으십시오.

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

2
글쎄, eslint 플러그인 ( github.com/roadhump/… ) 의 공식 github 페이지에 따르면 .eslintrc 파일을 프로젝트 폴더에 넣으면 트릭을 수행해야합니다 ... 디버깅을 계속하려면 실행을 시도하는 것이 좋습니다 명령 행에서 eslint. node.js가 설치되어 있지 않은 경우 간단히 설치 한 다음 npm install eslint콘솔 / 명령 프롬프트에서 실행 한 다음 콘솔 / 명령 프롬프트에서 프로젝트 폴더로 이동하여 다음을 실행하십시오.eslint .
markasoftware

10
파일 이름이
.eslintrc.json

13
또는 "rules": {"no-console": "off"}덜 암호가되도록 작성할 수 있습니다. "warn"그리고 "error"다른 두 옵션 서비스를 제공합니다.
TheDarkIn1978

1
ESLint 구성 파일로 사용 간단 .eslintrc하지만, 지금은 사용되지 않으며 사용 된 형식에 따라 이름을 지정해야하는 등 .eslintrc.js, .eslintrc.yaml
콜린 D 베넷

4
vue-cli 3 에서 작동하지 않습니다 : 답변 참조 stackoverflow.com/a/53333105/150370
German Latorre

141

eslint 구성 파일을 업데이트하여이를 영구적으로 수정해야합니다. 그렇지 않으면 아래와 같이 콘솔에 대한 eslint 검사를 일시적으로 활성화 또는 비활성화 할 수 있습니다

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

2
내 구성 방법을 .eslintrc알려주세요.
Jean YC Yang

7
두 줄을 모두 추가 할 필요는 없습니다. 만 이전 넣어 함께 console.log다음과 같은 예외가 충분하다 : eslint-disable-next-line no-console.
조나단 브리치 오

132

VUE CLI-3 개방 package.json및 부 밑에 eslintConfig넣어 no-console아래 rules재시동 디바이스 서버 ( npm run serve또는 yarn serve)

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

2
cue-cli 프로젝트를 위해 여기에 오면 @markasoftware 솔루션이 작동하지 않으므로 감사합니다.
muenalan

package.json이 유일한 방법은 아닙니다. 별도의 구성 파일도 표준입니다.
Michael Cole

1
감사! 당신은 내 하루를 구했습니다.
Ank

감사! 문서의 규칙 : configuration eslint.org/docs/user-guide/configuring#configuring-rules , 규칙 : eslint.org/docs/rules
Denis

1
루트 폴더 @MaxRocket에있는 것
GiorgosK

35

더 좋은 옵션은 node.log 및 디버거 명령문을 노드 환경에 따라 조건부로 표시하는 것입니다.

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

콘솔 메시지는 여전히 프로덕션 환경에서 인쇄됩니다
Sanyam Jain

19

한 줄에 대해서만 규칙을 사용하지 않으려는 경우 VSCode에서 ESLint와 함께 작동합니다.

다음 줄을 비활성화하려면 :

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

현재 줄을 비활성화하려면 :

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

15

로컬 프로젝트에 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",
    ....

이 "구성"이 도움이 되길 바랍니다.


더 나은 방법은 모든 파일에서이 편리한 스크립트를 실행하는 것입니다.find . -name '*.js' -exec gawk -i inplace 'NR==1{print "/* eslint-disable */"} {print}' {} \;
user234461


10

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

10

규칙을 한 번 비활성화하려면 Exception 's answer을 확인하십시오 .

한 줄에 대해서만 규칙을 비활성화하여이를 개선 할 수 있습니다.

... 현재 줄에서 :

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

... 또는 다음 줄에 :

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

9

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

하나는 VUE 프로젝트 저점을 생성 경우에 유용 vue-cli또는 vue ui그것을 포함 vue.config.js하고 package.json. 을 편집하십시오 package.json.
swiesend

6

설명서에 따라 package.json을 구성한 후에도 여전히 문제가있는 경우 (별도의 구성 파일이 아닌 package.json을 사용하여 추적하도록 선택한 경우) :

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

그리고 그것은 여전히 ​​당신을 위해 작동 하지 않습니다 , 당신은 명령 줄로 돌아가서 npm install을 다시해야한다는 것을 잊지 마십시오 . :)


5

에서 package.json 당신은 발견 할 것이다 eslintConfig선을. 'rules'줄은 다음과 같이 들어갈 수 있습니다.

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

4

하나의 규칙을 추가하고 환경을 추가해야합니다.

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

다른 환경을 추가 할 수 있습니다.


4

이것을 프로젝트 위치에있는 .eslintrc.js 파일에 넣으면 나를 위해 일했습니다.

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

3

2018 년 10 월

그냥 해:

// tslint:disable-next-line:no-console

다른 사람들은

// eslint-disable-next-line no-console

작동하지 않습니다!


0

또는 '콘솔 없음'을 끄는 대신 허용 할 수 있습니다. 에서 .eslintrc.js의 파일을 넣어

  rules: {
    'no-console': [
      'warn',
      { allow: ['clear', 'info', 'error', 'dir', 'trace', 'log'] }
    ]
  }

이것은 당신이 할 수 console.logconsole.clear오류를 던지고없이 등.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.