How to disable the warning 'define' is not

2019-01-07 05:11发布

问题:

I uses RequireJS AMD in my project. When i run jshint on my project, it throws error like

In AMD Scripts

 'define' is not defined.

In Mocha test cases

 'describe' is not defined.
 'it' is not defined.

How to remove this warning in jshint?

回答1:

Just to expand a bit, here's a .jshintrc setup for Mocha:

{
  ....
  "globals"   : {
    /* MOCHA */
    "describe"   : false,
    "it"         : false,
    "before"     : false,
    "beforeEach" : false,
    "after"      : false,
    "afterEach"  : false
  }
}

From the JSHint Docs - the false (the default) means the variable is read-only.

If you are defining globals only for a specific file, you can do this:

/*global describe, it, before, beforeEach, after, afterEach */


回答2:

jshint: {
  options: {
    mocha: true,
  }
}

is what you want



回答3:

To avoid the not defined warning in jshint for the javascript add comments like:

/*global describe:true*/

Options



回答4:

Add this in your .jshintrc

"predef" : ["define"]   // Custom globals for requirejs


回答5:

late to the party, but use this option in your jshintrc:

"dojo": true

and thou shall rest peacefully without red warnings...



回答6:

If you are working on node js. Add these two lines in the beginning of your file

/*jslint node: true */
"use strict";


回答7:

Read the docs and search for /*global



回答8:

If you're trying to run JSHint in WebStorm with Mocha, as I am, go into:

WebStorm > Preferences > Languages & Frameworks > JavaScript > Code Quality Tools > JSHint

Scroll down to "Environments" and make sure you have selected the checkbox to enable "Mocha" which will set up the definitions for JSHint for Mocha for you.