Fait JSLint n'a rien à voir avec la méthode JavaScript Lint commentaires de contrôle (par exemple /*jsl:fallthru*/
) pour qu'il ignore certains passages ?
Réponses
Trop de publicités?Mettez
/*ignore jslint start*/
avant et
/*ignore jslint end*/
après le code à ignorer. Ex :
function ignore(){
/*ignore jslint start*/
var x; var y;
/*ignore jslint end*/
}
Ou exportez les paramètres JsLint, définissez vos symboles IgnoreErrorStart/ IgnoreErrorEnd et importez.
Modifier
Certaines personnes peuvent confondre cette réponse avec JSHint. Dans ce cas, utilisez ceux-ci :
/*jshint ignore:start*/
<!-- code in here -->
/*jshint ignore:end*/
Oui. Extrait de la documentation [notez qu'il s'agit d'une ancienne version de la documentation, mais elle est toujours valable] :
L'implémentation de JSLint accepte un objet option qui vous permet de déterminer le sous-ensemble de JavaScript qui est acceptable pour vous. Il est également possible de définir ces options dans le source d'un script.
Une spécification d'option peut ressembler à ceci :
/*jslint nomen: true, debug: true,
evil: false, vars: true */
La spécification d'une option commence par /*jslint. Notez qu'il n'y a pas d'espace avant le j. La spécification contient une séquence de paires nom-valeur, où les noms sont des options JSLint, et les valeurs sont true ou false. Une spécification d'option est prioritaire sur l'objet option.
La documentation ne le mentionne pas spécifiquement, mais vous pouvez activer et désactiver différentes vérifications à travers le code avec plusieurs commentaires jslint (merci Dominic Mitchell).
Il existe un liste complète des options dans la documentation .
Voici un exemple de code pour compléter l'excellente réponse de Matthew Crumley :
(function ($) {
$.isValidEmail = function(email){
/*jslint maxlen: 1000*/
var EMAIL_REGEXP = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;
/*jslint maxlen: 200*/
return EMAIL_REGEXP.test(email);
};
}(jQuery));
Rien ici n'a répondu à cette question pour autant que je puisse le dire. Le code suivant me donne toujours des erreurs de validation et je n'arrive pas à faire accepter à JSLint que je n'ai pas le temps de corriger une expression régulière fonctionnelle en ce moment compte tenu des PRIORITÉS ACTUELLES.
L'erreur que je reçois concerne un '{' non encapsulé et pourrait amener ma nouvelle équipe professionnelle à rejeter JSLint comme outil réalisable. Il semble qu'il n'y ait aucun moyen de le faire taire concernant nos efforts pour développer plus efficacement, ce qui semble problématique.
/*jslint browser: true, devel: true, todo: true, regexp: true */
/*global $ */
/*
Abstract:
+ This module constitutes a layer of abstraction surrounding our bootstrap dependencies.
+ This module also contains some utility functions (so find a better place for them already!).
Validation:
+ This module has been validated using JSLint (www.jslint.com).
*/
var shoelaceModule = (function () {
'use strict';
return {
showModal: function ($target) {
$target.modal('show');
},
hideModal: function ($target) {
$target.modal('hide');
},
/*jsl:ignore */
/*ignore jslint start */
stringFormat: function (format) {
var args = Array.prototype.slice.call(arguments, 1);
return format.replace(/{([^{}]*)}/g, function (match, number) {
return args[number] !== 'undefined' ? args[number] : match;
});
},
/*ignore jslint end */
/*jsl:end */
init: function () {
return this;
}
};
}());
Il n'en est rien. En cherchant sur Google, on trouve plusieurs messages d'autres personnes, et des réponses de JSLint du type "Corrigez votre code au lieu de l'étiqueter comme intentionnellement défectueux". Cela ne semble pas très amical. Bien sûr, peut-être que dans ce cas vous devriez simplement corriger le code, mais je vous laisse le soin de répondre.
- Réponses précédentes
- Plus de réponses