Подтвердить что ты не робот

Предотвратите предупреждение JSHint о том, что 'functionName определено, но никогда не используется'

Я только начал использовать JSHint (через пакет Sublime-Linter для Sublime Text 2). Я хотел бы подавить его предупреждения относительно функций, которые используются до их определения, поскольку я не вижу проблем с использованием определений функций, подобных этому. Например, следующий код генерирует предупреждения:

(function($){ 

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

    function formValidationSetup()
    {

    }

    function refreshErrorMessages()
    {

    }

})(jQuery);

Предупреждения:

  • formValidationSetup определен, но никогда не используется
  • refreshErrorMessages определен, но никогда не используется

Я попытался установить значение undef в false в параметрах JSHint, но я все еще получаю эти ошибки. Есть ли другой вариант, который я должен установить? Создайте JSLint docs для undef:

true, если перед использованием не нужно объявлять переменные и функции. Эта недоступен в строгом режиме.

4b9b3361

Ответ 1

Чтобы избежать предупреждения

определено, но никогда не используется

в jslint в javascript добавить комментарии вроде:

 /*exported formValidationSetup, refreshErrorMessages */

В jshint и jslint вы можете установить для неиспользуемой опции значение false:

 /*jshint unused:false*/

См. Options

Ответ 2

У меня была эта проблема с should и expect в тестах Chai. Я закончил с этим шаблоном:

'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);
    });
  });

});

Ответ 3

Интересно, что добавление 'use strict'; внутри IIFE подавляет ошибку. Не уверен, почему.

Ответ 4

Лучший способ не касаться Gruntfile.js в типичной настройке Yoeman - отредактировать файл .jshintrc (скрытый файл в системе Unix). И обновите содержимое следующим образом:

{
  "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
}

установите "unused" в false.

Ответ 5

Вы можете просто использовать

"unused": false,

в вашем .jshintrc

Ответ 6

Вы хотите использовать опцию 'latedef'