How to tell JSHint to ignore all undefined variables in one file?

前端 未结 4 1851
名媛妹妹
名媛妹妹 2021-02-05 01:27

In Karma tests, there are a lot of global variables and functions, which JSHint complains about (it is integrated into my editor).

How can I tell JSHint to ignore all u

相关标签:
4条回答
  • 2021-02-05 02:06

    Ran into this problem using jshint this afternoon. This following fix worked for me. Instead of using "globals", try using "predef". For example:

    {
      /*
       * RELAXING OPTIONS
       * =================
       */
    
      // Suppress warnings about == null comparisons.
      "eqnull": true,
    
      "predef" : ["describe", "expect", "it", "inject", "beforeEach", "angular"]
    }
    
    0 讨论(0)
  • 2021-02-05 02:10

    I've found myself using jshint ignore:line as a way of addressing this need:

    var unusedVar; // jshint ignore:line

    This allows jshint to continue its useful checking for this condition but where there are explicit reasons to ignore a specific declaration than adding this both addresses the issue and does it in a way that is immediately apparent to anyone looking at the code.

    A good example (at least for me), is when using ES6's destructuring to illicit a set of shortcuts that you may or may not use all the time. In Ember, I often use many of the methods that hang off of it such as typeOf and computed. Rather than always referring to Ember.computed it's far nicer to just refer to computed and have something like the following at the top of all my Ember objects:

     const { computed, $, A, run, on, typeOf, debug, get, set } = Ember;    // jshint ignore:line
    
    0 讨论(0)
  • 2021-02-05 02:11

    Just add this rule in your .jshintrc file.

    "-W117": true
    

    This will ignore all the warnings which say, '* is not defined.'

    0 讨论(0)
  • 2021-02-05 02:14

    The correct way to tell JSHint about globals is to use the globals directive. For example:

    /*globals globalFunction, anotherGlobal, oneMore */
    

    This will prevent "{a} is not defined" warnings when JSHint encounters any of the listed identifiers.

    Alternatively, if you really want to ignore all "not defined" warnings in that file, and you're using JSHint 1.0.0 or above, you can simply turn off that specific warning:

    /*jshint -W117 */
    
    0 讨论(0)
提交回复
热议问题