Ich möchte meine Anwendungslogik in mehrere Javascript-Dateien für die Gesundheit und Entwicklerfreundlichkeit getrennt, 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 praktischen Lint- und Concat-Aufgaben ausgestattet ist.Wie löse ich Abhängigkeiten beim Linen einzelner Javascript-Dateien mit grunt?
+ |- grunt.js |- readme |-vendors |-backbone.js |- src |- core.js |- user.js |- dist |-app.js
Ich bin in ein lästiges Problem läuft. Ich benutze backbone.js für die Anwendungsstruktur, und die meisten meiner Quelldateien beginnen mit der Definition von Modellen durch Erweitern Backbone.Model. 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 über sich selbst verfügen.
Ich weiß, dass ich diese undefined Warnungen unterdrücken kann durch undef Flagge Flusen in grunt.js zu falsche Einstellung, aber ich möchte es wahr, um über andere nicht definierte Variablen gewarnt zu werden gesetzt halten in meiner Anwendung, da es ein häufiger 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?
Perfect! Vielen Dank! Ich war mir ziemlich sicher, dass es einen einfachen Weg dafür geben musste, aber die Dokumentation von grunt war nicht sehr klar und ich hatte keine Erfahrung mit JSHint. Danke noch einmal! – timkg
Hinzufügen von etwas wie 'core.js' zu dem Beispiel' globals' in der Antwort würde Klarheit helfen. Ich kam aus einer Web-Storm-Perspektive und fragte mich, wie ich in meiner eigenen Bibliothek definierte Objekte hinzufügen würde, bevor ich erkannte, dass ich sie zu der Datei hinzufügen konnte. Vielleicht möchten Sie auch erwähnen, dass Sie die Optionen zu einer einzigen Datei hinzufügen können mit dem '/ * globalen Schlüssel: Wert, .. * /' Syntax – Snekse
Ich bekam weiter "foo 'ist nicht definiert" bis ich die Globals verschoben Objekt innerhalb des Optionsobjekts. –