Як відключити попередження «визначити», не визначено за допомогою JSHint та RequireJS


108

Я використовую RequireJS AMD у своєму проекті. Коли я запускаю jshint у своєму проекті, він видає помилки, як

У сценаріях AMD

 'define' is not defined.

У тестових випадках Моча

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

Як видалити це попередження в jshint?

Відповіді:


187

Просто для розширення, ось .jshintrcналаштування для Mocha:

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

З Документів JSHint - false (за замовчуванням) означає, що змінна є лише для читання.

Якщо ви визначаєте глобальні дані лише для певного файлу, ви можете зробити це:

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

41
ми можемо використовувати {"mocha": true} 2.5.1+ github.com/jshint/jshint/isissue/1330
gwokae

@bendytree Ви знаєте, чи можу я додати ці правила для деяких файлів / папок, не глобальних?
Гоблінс

@Gobliins коментар Богдана вище. Додайте цей рядок як перший рядок свого тестового файлу
Ісаак



8

Додайте це у свій .jshintrc

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

Не впевнений, чому хтось спростував це. Я використовую це саме у своїх проектах і чистіший за інші відповіді та роботи.
Shital Shah

19
unaf застаріло, використовуйте глобали
Джонатан Азулай

@JonathanAzulay на jshint.com/docs/options/#predef я не знайшов жодної замітки про депресію . Я думаю, що Global може бути використаний для користувацького глобального JavaScript, наприклад, кутовий, $, jQuery і т.д., а попередній може використовуватися для неявних глобальних об'єктів, таких як вікно, документ, консоль тощо
Amitesh

6

пізно до вечірки, але використовуйте цю опцію у своїх jshintrc:

"dojo": true

і ти спочиваєш спокійно без червоних попереджень ...


6

Якщо ви працюєте над вузлом js. Додайте ці два рядки на початку файлу

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

Це питання стосується JSHint .
PointedEars


1

Якщо ви намагаєтеся запустити JSHint в WebStorm з Mocha, як і я, перейдіть до:

WebStorm> Налаштування> Мови та рамки> JavaScript> Інструменти якості коду> JSHint

Прокрутіть униз до "Середовища" та переконайтесь, що ви встановили прапорець, щоб увімкнути "Mocha", який встановить визначення JSHint для Mocha для вас.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.