2016-06-14 22 views
1

Ich habe eine .js-Datei, von der ich mehrere verschiedene Versionen machen und sie über SCP in verschiedene Ordner am selben Ort hochladen muss.Ersetzen von Code mit Grunt in mehreren Dateien

Also, in meinem Js-Datei dort etwas entlang der Linien von ist:

var myObject = { 
    someProp: 'value', 
    otherProp: 'value' 
} 

(...continues with more code, functions, etc...) 

Der Ansatz, den ich erwäge beinhaltet grunt-config Verwendung grunt-replace und grunt-scp. Also dachte ich daran, eine Menge verschiedener Konfigurationen mit den Werten zu haben, die ich in meiner .js-Datei ersetzen möchte, um mehrere entsprechende .js-Dateien zu erstellen, die dann über SCP in verschiedene Ordner im Host hochgeladen würden.

Was mich verwirrt ist, dass ich alles in einem Schritt tun möchte, anstatt grunt config --option für jede meiner Konfigurationsoptionen zu laufen (es gibt einige von ihnen).

Im Moment habe ich bereits den Ersatz für eine der Konfigurationen arbeiten, aber ich frage mich, ob es möglich ist, alles nacheinander zu tun, wie, erste Konfiguration in der Datei ersetzen und SCP die Ausgabe, dann die nächste, etc ...

Kann jemand einige Einblicke teilen, wie man das erreicht?

EDIT

habe gerade bemerkt, könnte ich nicht so klar gewesen sein, wie ich gedacht. Das Plugin grunt-scp muss seine Einstellungen für jede der grunt-config Optionen geändert haben, mit denen ich es zu tun habe.

würde die Strömung etwas entlang der Linien der folgenden sein:

grunt.registerTask("myOption", ['config:first', 'replace', 'scp', 'config:second', 'replace', 'scp']); // and continues.... 

Bisher seine korrekt die erste Konfiguration geladen und in der Datei zu ersetzen, wie beabsichtigt, aber ich frage mich, wie das mit den Einstellungen der Konfiguration verwendet werden grunt-scp Plugin für jeden Fall.

Dies ist aufgrund der Tatsache, dass die verschiedenen Dateien auf Ausgabe generiert werden müssen scp 'd an verschiedenen Orten im Host.

Irgendwelche Gedanken?

+0

Ich denke, während der Registrierung Aufgabe können Sie es in einer Sequenz geben. Etwas wie folgt aus: grunt.registerTask ('bauen', [ 'clean: dist', 'Injektor: weniger', 'gleichzeitig: dist', 'Injektor', 'wiredep', ]); –

+0

@ LukeP.Issac danke für Ihre Antwort. Ja, es erzeugt eine Sequenz, aber ich denke, ich war nicht explizit genug. Ich muss auch einige der Einstellungen für 'grunt-scp' für jede der Konfigurationen ändern. Ich werde versuchen, es in der Frage klarer zu machen. – Joum

Antwort

0

Sie können versuchen, Multi-Aufgaben in grunt registrieren. Wenn eine Multi-Task ausgeführt wird, sucht Grunt in der Grunt-Konfiguration nach einer Eigenschaft mit demselben Namen. Multi-Tasks können mehrere Konfigurationen haben, die mit willkürlich benannten "Zielen" definiert werden.