私は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-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"
};
ファイルのディレクトリに.eslintrc.jsを作成し、その中に次の内容を入れます。
module.exports = {
rules: {
'no-console': 'off',
},
};
これを恒久的に修正するためにeslint設定ファイルを更新する必要があります。それ以外の場合は、一時的に以下のようにコンソールのeslintチェックを有効または無効にすることができます。
/* eslint-disable no-console */
console.log(someThing);
/* eslint-enable no-console */
vue-cli 3 package.json
を開き、eslintConfig
セクションの下にrules
の下にno-console
を置き、devサーバーを再起動します(npm run serve
またはyarn serve
)
...
"eslintConfig": {
...
"rules": {
"no-console": "off"
},
...
より良い方法は、ノード環境に基づいて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があるはずです。ファイルを編集して、値 "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",
....
この「設定」が役に立つことを願っています。
私は.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
}
};
一度だけルールを無効にしたい場合は、 例外の答え を参照してください。
1行だけのルールを無効にすることでこれを改善できます。
...現在の行で:
console.log(someThing); /* eslint-disable-line no-console */
...または次の行に
/* eslint-disable-next-line no-console */
console.log(someThing);
1行だけルールを無効にしたい場合は、以下はVSCodeのESLintで機能します。
次の行を無効にするには
// eslint-disable-next-line no-console
console.log('hello world');
現在の行を無効にするには
console.log('hello world'); // eslint-disable-line no-console
私の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"
]
}
package.json にはeslintConfig
行があります。あなたの「ルール」の行はこのように入ります。
"eslintConfig": {
...
"extends": [
"eslint:recommended"
],
"rules": {
"no-console": "off"
},
...
},
ルールを1つ追加してenvを追加する必要があります。
{
"rules": {
"no-console": "off"
},
"env": {
"browser": true
}
}
他の環境変数を追加することができます。
これをプロジェクトの場所にある.eslintrc.jsファイルに入れても問題ありませんでした。
module.exports = {
rules: {
'no-console': 0
}
};