J'utilise eslint avec Sublime Text 3 et j'écris gulpfile.js
.
/*eslint-env node*/
var gulp = require('gulp');
gulp.task('default', function(){
console.log('default task');
});
Mais eslint continue à afficher l'erreur suivante: "Erreur: instruction de console inattendue. (No-console)"
J'ai trouvé document officiel ici , mais je ne sais toujours pas comment le désactiver.
/*eslint-env node*/
var gulp = require('gulp');
/*eslint no-console: 2*/
gulp.task('default', function(){
console.log('default task');
});
ne fonctionne pas non plus.
Mes plugins Sublime Text 3: SublimeLinter et SublimeLinter-contrib-eslint.
Voici mon fichier .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"
};
Créez un fichier .eslintrc.js dans le répertoire de votre fichier et mettez-y le contenu suivant:
module.exports = {
rules: {
'no-console': 'off',
},
};
Vous devez mettre à jour le fichier de configuration eslint pour résoudre ce problème de façon permanente. Sinon, vous pouvez activer ou désactiver temporairement eslint check for console comme ci-dessous
/* eslint-disable no-console */
console.log(someThing);
/* eslint-enable no-console */
Pour vue-cli ouvrez package.json
et sous la section eslintConfig
mettez no-console
sous rules
et redémarrez le serveur de développement (npm run serve
ou yarn serve
)
...
"eslintConfig": {
...
"rules": {
"no-console": "off"
},
...
Une option plus intéressante consiste à subordonner l'affichage des instructions console.log et du débogueur en fonction de l'environnement du noeud.
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,
},
Si vous installez eslint sous votre projet local, vous devez avoir un répertoire/node_modules/eslint/conf/et sous ce répertoire un fichier eslint.json. Vous pouvez éditer le fichier et modifier l'entrée "no-console" avec la valeur "off" (bien que la valeur 0 soit également prise en charge):
"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",
....
J'espère que cette "configuration" pourra vous aider.
Ce qui suit fonctionne avec ESLint en VSCode si vous souhaitez désactiver la règle pour une seule ligne.
Pour désactiver la ligne suivante:
// eslint-disable-next-line no-console
console.log('hello world');
Pour désactiver la ligne en cours:
console.log('hello world'); // eslint-disable-line no-console
J'utilise Ember.js qui génère un fichier nommé .eslintrc.js
. L'ajout de "no-console": 0
à l'objet rules a effectué le travail à ma place. Le fichier mis à jour ressemble à ceci:
module.exports = {
root: true,
parserOptions: {
ecmaVersion: 6,
sourceType: 'module'
},
extends: 'eslint:recommended',
env: {
browser: true
},
rules: {
"no-console": 0
}
};
Si vous voulez juste désactiver la règle une fois, vous voulez regarder réponse de l'exception .
Vous pouvez améliorer cela en désactivant la règle pour une seule ligne:
... sur la ligne en cours:
console.log(someThing); /* eslint-disable-line no-console */
... ou sur la ligne suivante:
/* eslint-disable-next-line no-console */
console.log(someThing);
dans mon projet vue
, j'ai résolu ce problème de la manière suivante:
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"
]
}
Dans package.json, vous trouverez une ligne eslintConfig
. Votre ligne 'rules' peut y aller comme ceci:
"eslintConfig": {
...
"extends": [
"eslint:recommended"
],
"rules": {
"no-console": "off"
},
...
},
Vous devriez ajouter une règle et ajouter votre env:
{
"rules": {
"no-console": "off"
},
"env": {
"browser": true
}
}
vous pouvez ajouter d'autres envs.
Mettre cela dans le fichier .eslintrc.js qui se trouve à l'emplacement du projet a fonctionné pour moi
module.exports = {
rules: {
'no-console': 0
}
};