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

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

В AMD Скрипты

 'define' is not defined.

В тестах Mocha

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

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

8 ответов

Решение

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

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

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

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

/*global describe, it, before, beforeEach, after, afterEach */
jshint: {
  options: {
    mocha: true,
  }
}

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

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

/*global describe:true*/

Опции

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

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

Опоздал на вечеринку, но используйте эту опцию в своем jshintrc:

"dojo": true

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

Если вы работаете на узле JS. Добавьте эти две строки в начало вашего файла

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

Читайте документы и ищите /*global

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

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

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

Другие вопросы по тегам