防止JSHint警告"functionName已定义但从未使用过"

Und*_*ion 45 javascript jquery jslint jshint

我刚开始使用JSHint(通过Sublime-Linter包用于Sublime Text 2).我想抑制它在定义之前使用的函数的警告,因为我发现使用这样的函数定义没有问题.例如,以下代码生成警告:

(function($){ 

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

    function formValidationSetup()
    {

    }

    function refreshErrorMessages()
    {

    }

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

警告:

  1. formValidationSetup已定义但从未使用过
  2. refreshErrorMessages已定义但从未使用过

我已经尝试在JSHint选项中将undef设置为false,但我仍然遇到这些错误.我应该设置另一种选择吗?形成的JSLint文档民主基金:

如果在使用之前不需要声明变量和函数,则为true.这在严格模式下不可用.

Rol*_*ier 90

避免警告

定义但从未使用过

在你的javascript中的jslint中添加评论:

 /*exported formValidationSetup, refreshErrorMessages */
Run Code Online (Sandbox Code Playgroud)

在jshint和jslint中,您可以将未使用的选项设置为false:

 /*jshint unused:false*/
Run Code Online (Sandbox Code Playgroud)

请参阅选项

  • 那么所有其他未使用的变量呢?从我的理解中,"unused:false"会导致它忽略_all_ unused行为.我不认为这是想要实现的目标. (6认同)
  • `// jshint ignore:line`将忽略那一行. (6认同)
  • `unused:false`对我不起作用(jshint v2.8.0) (5认同)

Mic*_*ole 9

我有这个问题,shouldexpect在柴测试.我最终得到了这种模式:

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

});
Run Code Online (Sandbox Code Playgroud)


ima*_*era 5

您可以简单地使用

"unused": false,
Run Code Online (Sandbox Code Playgroud)

在您的.jshintrc中