Mehrere Build-Ordner (mehrere Clients, Multitasking, mehrere Ziele) mit Grunt (Yeoman)

8

Ich baue gerade ein Projekt, das eine Webapp (Browser-lauffähig) und eine Phonegap-App (iOS und Android) sein wird. Obwohl mein Projekt theoretisch den gleichen dist Ordner verwenden könnte, den mein Yeoman generiert hat, Grunt Aufgaben build produktionsfertiger Code durch Ausführen von grunt build . Ich möchte etwas wie grunt build_web , grunt build_ios und grunt build_android ausführen, um den Produktionscode für jede Plattform einzeln zu erstellen. Oder grunt build:web , grunt build:ios , grunt build:android . Auf diese Weise konnte ich einige der geladenen Skripte, Images usw. mit jeweils eigenen Build-Anweisungen anpassen.

Also, sollte ich durch meine Gruntfile gehen und alle von dist und build Direktiven kopieren und einfügen? Oder, gibt es eine Best Practice dafür? (hat das versucht, hat nicht funktioniert)

Yeoman Leute, ist das möglich?

Hier ist meine aktuelle Gruntfile.js für den Fall, dass es nützlich wäre zu sehen.

%Vor%     
Jarrod 26.08.2013, 17:25
quelle

2 Antworten

3

Es gibt wirklich keine Best Practice neben den Empfehlungen für PG 3. Für mehrere Clients möchten Sie vielleicht Ihre gruntjs ändern. Dies ist meine Projektstruktur, in der der Ordner "Assets" Daten für verschiedene Clients enthält:

Und hier ist meine gruntjs-Datei. Es verwendet ImageMagik, um alle notwendigen Launcher-Icons zu erstellen. Build und Deployment für die Über-Luft-Installation. Du hast die Idee ...

%Vor%

Grundsätzlich werden alle nativen Dateien gelöscht und in den Ordner out / clientorchainid eingefügt, um den Build für jeden Client auszuführen. Dann kopieren Sie das Build-Ergebnis in den Ordner "beta-assets / clientorchainid", um es für die Remote-Bereitstellung vorzubereiten.

    
Noogen 26.08.2013 20:57
quelle
2

Build ist eine Liste anderer Aufgaben. Du könntest so etwas machen (coffescript):

%Vor%

Auf diese Weise können Sie benutzerdefinierte Aufgaben und benutzerdefinierte Builds de fi nieren.

    
David Pelaez 28.08.2013 15:33
quelle