vscode sublime jshintrc es6 javascript jquery jslint jshint

javascript - sublime - Evite que JSHint advierta que ''functionName está definido pero nunca se usó''



jslint npm (6)

Acabo de empezar a usar JSHint (a través del paquete Sublime-Linter para Sublime Text 2). Me gustaría suprimir sus advertencias sobre las funciones que se usan antes de que se definan, ya que no veo ningún problema con el uso de definiciones de funciones como esta. Por ejemplo, el siguiente código genera advertencias:

(function($){ $(document).ready(function() { formValidationSetup(); refreshErrorMessages(); }); function formValidationSetup() { } function refreshErrorMessages() { } })(jQuery);

Las advertencias:

  1. formValidationSetup está definido pero nunca se usó
  2. refreshErrorMessages está definido pero nunca usado

Intenté configurar undef como falso en las opciones de JSHint, pero sigo recibiendo estos errores. ¿Hay alguna otra opción que deba establecer? Forma los documentos JSLint para undef :

true si las variables y funciones no necesitan declararse antes de su uso. Esto no está disponible en modo estricto.


Curiosamente, agregando ''use strict''; dentro del IIFE suprime el error. Sin embargo, no estoy seguro de por qué.


Para evitar la advertencia

definido pero nunca usado

en jslint en su javascript, agregue comentarios como:

/*exported formValidationSetup, refreshErrorMessages */

En jshint y jslint puede establecer la opción no utilizada en falso:

/*jshint unused:false*/

Ver Options


Puedes simplemente usar

"unused": false,

en tu .jshintrc


Querrá utilizar la opción ''latedef''


Tuve este problema con should y expect en las pruebas de Chai. Terminé con este patrón:

''use strict''; var request = require(''supertest''); var should = require(''chai'').should(); // jshint ignore:line var expect = require(''chai'').expect; // jshint ignore:line process.env.NODE_ENV = ''test''; var appPromise = require(''./index''); describe(''GET /r_u_up'', function() { it(''respond with 204'', function(done) { appPromise.then(function(app) { request(app) .get(''/r_u_up'') .expect(204, done); }); }); });


Una mejor manera de no tocar el Gruntfile.js en una configuración típica de Yoeman es editar el archivo .jshintrc (un archivo oculto en el sistema Unix). Y actualice el contenido de la siguiente manera:

{ "curly": true, "eqeqeq": true, "immed": true, "latedef": true, "newcap": true, "noarg": true, "sub": true, "undef": true, "unused": false, // the change is here "boss": true, "eqnull": true, "node": true }

establecer el "unused" en false .