259 votes

Est-il possible de supprimer l'avertissement JSHint pour une ligne donnée?

J'ai un (seul) cas dans mon application où eval est utilisé, et je voudrais supprimer l'avertissement JSHint uniquement pour ce cas.

Y a-t-il un moyen d'y parvenir? Configuration, commentaire magique, ...?

461voto

Jason Punyon Points 21244

Oui, il y a un moyen. Deux en fait. En octobre 2013, jshint a ajouté un moyen d'ignorer les blocs de code comme ceci:

 // Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
 

Vous pouvez également ignorer une seule ligne avec un commentaire de fin comme ceci:

 ignoreThis(); // jshint ignore:line
 

100voto

tollmanz Points 1106

La réponse "mauvaise" n'a pas fonctionné pour moi. Au lieu de cela, j'ai utilisé ce qui était recommandé sur la page des docs JSHints. Si vous connaissez l'avertissement lancé, vous pouvez le désactiver pour un bloc de code. Par exemple, j'utilise un code tiers qui n'utilise pas les fonctions de chameau, mais mes règles JSHint l'exigent, ce qui a conduit à un avertissement. Pour le faire taire, j'ai écrit:

 /*jshint -W106 */
save_state(id);
/*jshint +W106 */
 

37voto

Odi Points 3496

Comme vous pouvez le voir dans la documentation de JSHint, vous pouvez changer les options par fonction ou par fichier . Dans votre cas, placez simplement un commentaire dans votre fichier ou encore plus local juste dans la fonction qui utilise eval :

 /*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X