Как отключить предупреждение "define" не определяется с помощью JSHint и RequireJS

Я использую RequireJS AMD в своем проекте. Когда я запускаю jshint в моем проекте, он выдает ошибку, например

В сценариях AMD

 'define' is not defined.

В тестах Mocha

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

Как удалить это предупреждение в jshint?

Ответ 1

Просто чтобы немного расширить, здесь .jshintrc настройка для Mocha:

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

Из JSHint Docs - false (по умолчанию) означает, что переменная доступна только для чтения.

Если вы определяете глобальные значения только для определенного файла, вы можете сделать это:

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

Ответ 2

Чтобы избежать неопределенного предупреждения в jshint для javascript, добавьте комментарии, например:

/*global describe:true*/

Options

Ответ 3

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

- это то, что вы хотите

Ответ 4

Добавьте это в свой .jshintrc

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

Ответ 5

поздно, но используйте эту опцию в jshintrc:

"dojo": true

и ты останешься спокойно без красных предупреждений...

Ответ 6

Если вы работаете над node js. Добавьте эти две строки в начало файла

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

Ответ 8

Если вы пытаетесь запустить JSHint в WebStorm с помощью Mocha, как я, зайдите в:

WebStorm > Предпочтения > Языки и фреймворки > JavaScript > Инструменты качества кодa > JSHint

Прокрутите вниз до "Среды" и убедитесь, что вы выбрали флажок, чтобы включить "Mocha", который настроит для вас определения для JSHint для Mocha.