J'ai commencé à créer une application Node.js/browserify en suivant les instructions de l'équipe de développement. JavaScript multiplateforme blog post. Et j'ai rencontré ce problème, parce que mon tout nouveau fichier Grunt n'a pas passé jshint.
Heureusement, j'ai trouvé une réponse dans le Livre Leanpub sur Grunt :
Si nous essayons maintenant, nous allons scanner notre fichier Grunt et obtenir quelques erreurs :
$ grunt jshint
Running "jshint:all" (jshint) task
Linting Gruntfile.js...ERROR
[L1:C1] W097: Use the function form of "use strict".
'use strict';
Linting Gruntfile.js...ERROR
[L3:C1] W117: 'module' is not defined.
module.exports = function (grunt) {
Warning: Task "jshint:all" failed. Use --force to continue.
Les deux erreurs sont dues au fait que le fichier Grunt est un programme Node, et par défaut, JSHint ne reconnaît pas ou n'autorise pas l'utilisation des fichiers module
et la version en chaîne de use strict
. Nous pouvons définir une règle JSHint qui acceptera nos programmes Node. Éditons la configuration de notre tâche jshint et ajoutons une clé d'options :
jshint: {
options: {
node: true
},
}
Ajout de node: true
au jshint options
pour mettre jshint en "mode Node", a supprimé les deux erreurs pour moi.