Verhindert die Warnung Web Essentials JsHint "ko ist nicht definiert", wenn Knockout verwendet wird

7

In einem ASP.NET MVC 5-Projekt, das Bündelung und Minification verwendet, habe ich ein Javascript-Ansichtsmodell, das ich in der .cshtml-Datei aufliste. Das View-Modell referenziert den Knockout über ko , was gut funktioniert. Die JsHint-Ausgabe, die von Web Essentials stammt, meldet jedoch die Warnung W117, 'ko' is not defined für jede Referenz auf ko .

Die .js-Dateien sehen jeweils so aus:

%Vor%

Die .cshtml-Dateien sehen jeweils so aus:

%Vor%

Wie behalte ich die Vorteile der "nicht definierten" Warnungen im Allgemeinen, aber vermeide diese falschen Warnungen?

    
Edward Brey 17.01.2014, 16:36
quelle

2 Antworten

24
  1. Wählen Sie im Menü Web Essentials die Option Globale jshint-Einstellungen bearbeiten
  2. aus
  3. Scrollen Sie zum Ende der Datei .jshintrc und fügen Sie Folgendes hinzu:

    %Vor%

Dies verhindert, dass jshint sich über ko beschweren kann, warnt Sie jedoch vor anderen undefinierten Symbolen.

Beachten Sie, dass Sie dies auch pro Datei vornehmen können, indem Sie diesen Kommentar an die Spitze Ihrer JavaScript-Datei setzen.

%Vor%     
Rich Wagenknecht 21.01.2014, 17:50
quelle
4

Das neue Web Essentials kann die .jshintrc auch aus den übergeordneten Verzeichnissen lesen.

  1. Wählen Sie im Web Essentials-Menü die Einstellung Globale JSHint-Einstellungen bearbeiten (.jshintrc).
  2. Kopieren Sie den Dateiinhalt in eine ".jshintrc" -Datei im Lösungsordner.
  3. Bearbeiten Sie die Datei nach Bedarf (fügen Sie z. B. das Ko als globale Variable hinzu)

Auf diese Weise kann die .jshintrc der Versionskontrolle hinzugefügt werden, um sie mit allen Entwicklern zu teilen, ohne die globalen JSHint-Einstellungen auf den einzelnen Workstations bearbeiten zu müssen.

    
Mikko Rantanen 20.02.2014 09:34
quelle