'Tanımla' uyarısının nasıl devre dışı bırakılacağı JSHint ve RequireJS kullanılarak tanımlanmamıştır


108

Projemde RequireJS AMD kullanıyorum. Projemde jshint çalıştırdığımda, aşağıdaki gibi bir hata veriyor:

AMD Komut Dosyalarında

 'define' is not defined.

Mocha test durumlarında

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

Jshint'te bu uyarı nasıl kaldırılır?

Yanıtlar:


187

Biraz genişletmek için, işte .jshintrcMocha için bir kurulum:

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

Gönderen JSHint Dokümanlar - false (varsayılan) değişken salt okunur demektir.

Küreselleri yalnızca belirli bir dosya için tanımlıyorsanız, bunu yapabilirsiniz:

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

41
Kullanabileceğimiz {"mocha": true} 2.5.1+ github.com/jshint/jshint/issues/1330
gwokae

@bendytree bu kuralları global olmayan bazı dosyalar / klasörler için ekleyip ekleyemeyeceğimi biliyor musunuz?
Gobliins

@Gobliins Bohdan'ın yukarıdaki yorumu. Bu satırı mocha test dosyanızın ilk satırı olarak ekleyin ve kuralı yalnızca o dosya için uygulayacaktır
Isaac


12

JavaScript için jshint'te tanımlanmamış uyarıyı önlemek için aşağıdaki gibi yorumlar ekleyin:

/*global describe:true*/

Seçenekler


8

Bunu .jshintrc dosyanıza ekleyin

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

Birisinin bunu neden reddettiğinden emin değilim. Bunu tam olarak projelerimde kullanıyorum ve diğer cevaplardan ve çalışmalardan daha temiz.
Shital Shah

19
PREDEF, kullanım globals depreceted edilir
Jonathan Azulay

@JonathanAzulay jshint.com/docs/options/#predef adresinde herhangi bir kullanımdan kaldırma notu bulamadım . Global'in özel Global JavaScript için kullanılabileceğini düşünüyorum, örneğin açısal, $, jQuery vb. Ve preef, pencere, belge, konsol vb. Gibi örtük küresel nesneler için kullanılabilir
Amitesh

6

partiye geç, ancak bu seçeneği şunlarınızda kullanın jshintrc:

"dojo": true

ve kırmızı uyarılar olmadan huzur içinde dinleneceksin ...


6

Js düğümü üzerinde çalışıyorsanız. Dosyanızın başına bu iki satırı ekleyin

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

Bu soru JSHint hakkındadır .
PointedEars


1

JSHint'i Mocha ile WebStorm'da çalıştırmaya çalışıyorsanız, benim gibi şuraya gidin:

WebStorm> Tercihler> Diller ve Çerçeveler> JavaScript> Kod Kalitesi Araçları> JSHint

"Ortamlar" a gidin ve sizin için JSHint için Mocha tanımlarını ayarlayacak "Mocha" yı etkinleştirmek için onay kutusunu seçtiğinizden emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.