'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.