Wie löse ich Abhängigkeiten, wenn ich einzelne javascript-Dateien mit grunt lösche?

8

Ich möchte meine Anwendungslogik in mehrere Javascript-Dateien unterteilen, um die Benutzerfreundlichkeit und Entwicklerfreundlichkeit zu gewährleisten, die im Ordner / src gespeichert sind. Diese Dateien sollten während des Erstellungsprozesses in /dist/app.js getönt und verkettet werden. Ich benutze Grunt für meinen Build-Prozess, da es bereits mit handlichen Lint- und Concat-Aufgaben ausgestattet ist.

%Vor%

Ich stoße auf ein lästiges Problem. Ich benutze backbone.js für die Anwendungsstruktur, und die meisten meiner Quelldateien beginnen damit, Modelle zu definieren, indem man Backbone.Model erweitert. Beim Löschen dieser Dateien beschwert sich JSHint darüber, dass Backbone nicht definiert ist, und zwar zu Recht - das Backbone befindet sich außerhalb seines eigenen Verzeichnisses. Das Einbeziehen aller notwendigen Skripte in die richtige Reihenfolge ist etwas, von dem ich annehme, dass es im HTML getan wird. Jede einzelne Quelldatei sollte nur von sich selbst wissen.

Ich weiß, dass ich diese undefinierten Warnungen unterdrücken kann, indem ich das Flag undef von lint in grunt.js auf false setze, aber ich möchte es behalten Legen Sie true fest, um vor anderen undefinierten Variablen in meiner Anwendung gewarnt zu werden, da dies ein häufiger Hinweis auf Tippfehler ist. Gibt es eine saubere Methode, um Grunt (oder Flusen) mitzuteilen, welche Dateien vor dem Linting aufgenommen werden sollen? Mache ich etwas falsch mit meinem Build-Prozess oder mit meiner Anwendungsarchitektur? Oder muss ich einfach damit leben?

    
timkg 14.08.2012, 19:01
quelle

2 Antworten

11

Mit den Optionen jshint können Sie in Ihrer Datei grunt.js eine Liste der Globals angeben, die von anderen verwendeten Bibliotheken stammen:

%Vor%

Beachten Sie die globals -Einstellung am unteren Rand. Dadurch kann JSHint diese Variablen ignorieren, aber die Einstellung undef: true wird weiterhin ausgeführt (wie oben gezeigt).

    
Derick Bailey 15.08.2012, 01:09
quelle
0

Ein alternativer Ansatz (der nicht auf grunt basiert) besteht darin, Ihren js-Dateien einen jshint-Kommentar hinzuzufügen:

%Vor%     
Jason Moore 23.04.2013 18:55
quelle