我在我的项目中使用 RequreJS AMD。当我在我的项目中运行 jshint 时,它会抛出如下错误
在 AMD 脚本中
'define' is not defined.
在摩卡的测试案例中
'describe' is not defined. 'it' is not defined.
如何在 jshint 中删除此警告?
Read the docs and search for /*global
/*global
To avoid the not defined warning in jshint for the javascript add comments like:
/*global describe:true*/
Options
Just to expand a bit, here's a .jshintrc setup for Mocha:
.jshintrc
{ .... "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 */
Add this in your .jshintrc
"predef" : ["define"] // Custom globals for requirejs
late to the party, but use this option in your jshintrc:
jshintrc
"dojo": true
and thou shall rest peacefully without red warnings...
jshint: { options: { mocha: true, } }
is what you want
If you are working on node js. Add these two lines in the beginning of your file
/*jslint node: true */ "use strict";
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.