Is there a way to suppress JSHint warning for one given line?

后端 未结 3 1204
遥遥无期
遥遥无期 2020-11-30 16:34

I have a (single) case in my app were eval is used, and I would like to suppress JSHint warning only for this case.

Is there a way to achieve that? Conf

相关标签:
3条回答
  • 2020-11-30 17:07

    Yes, there is a way. Two in fact. In October 2013 jshint added a way to ignore blocks of code like this:

    // Code here will be linted with JSHint.
    /* jshint ignore:start */
    // Code here will be ignored by JSHint.
    /* jshint ignore:end */
    // Code here will be linted with JSHint.
    

    You can also ignore a single line with a trailing comment like this:

    ignoreThis(); // jshint ignore:line
    
    0 讨论(0)
  • 2020-11-30 17:12

    As you can see in the documentation of JSHint you can change options per function or per file. In your case just place a comment in your file or even more local just in the function that uses eval:

    /*jshint evil:true */
    
    function helloEval(str) {
        /*jshint evil:true */
        eval(str);
    }
    
    0 讨论(0)
  • 2020-11-30 17:25

    The "evil" answer did not work for me. Instead, I used what was recommended on the JSHints docs page. If you know the warning that is thrown, you can turn it off for a block of code. For example, I am using some third party code that does not use camel case functions, yet my JSHint rules require it, which led to a warning. To silence it, I wrote:

    /*jshint -W106 */
    save_state(id);
    /*jshint +W106 */
    
    0 讨论(0)
提交回复
热议问题