Ich nutzte immer Livereload bzw. Prepros bzw. Codekit. Ob lokal oder entfernt war egal, der Kunden-Webspace wurde als Laufwerk per Transmit eingebunden und das hat relativ gut funktioniert (also Änderungen an z.B. Stylus-Dateien wurden processed, .css wurde geschrieben, Browser hat sich automatisch aktualisiert bzw. den neuen Stand angezeigt).
Jetzt habe ich gulp mal ausprobiert (hätte auch grunt sein können), finde ich natürlich super, will ja auch ein cooles Kid sein. Aber es macht eben auch mehr als Prepros bzw. ich habe mehr Kontrolle. Soweit so gut. Die Frage ist, wie kann ich das bewerkstellingen, wenn mein Workflow so aussieht:
- Entwicklung Prototyp lokal (eigentlich lieber auch gleich auf eigenem/Kundenwebspace, der kein node hat).
- Aus diesem Prototypen werden nach Abnahme Templates für das CMS. Zu diesem Zeitpunkt liegt das Projekt definitiv "entfernt". Der Kunde (oder auch ich) pflegen schon Inhalte ins CMS ein, weitere Templates werden mit diesen Inhalten erstellt, quasi "live"auf dem Server. Ich sehe hier keine Möglichkeit, lokal zu entwickeln und etwas zu deployen, da die zugrunde liegenden Daten entfernt sind. Ich müsste also entweder den Stand des CMS auf lokal syncen, dann lokal entwickeln und wieder deployen oder ich verabschiede mich generell von dem Gedanken, grunt/gulp etc. in meinen Entwicklungsprozess zu integrieren.
Im Prinzip die Möglichkeit, den entfernten (Template-)Ordner wie bisher lokal einzubinden und die gulp-tasks darauf ausführen können und irgendwie die Vorschau/den Reload zu triggern. Funktioniert aber nicht wie gehofft, habe ich ausprobiert. Node-Module lassen sich zwar teilweise auch auf diesem Netzlaufwerk installieren, bricht aber irgendwann mit Fehlern ab, vermutlich ist einfach die Schreib/Lesegeschwindigkeit zu niedrig.
Eventuell geht irgendwas in Richtung Webspace wie bisher als Laufwerk einbinden und den betreffenden Ordner rsyncen? Oder irgendwie symlinken? Ich weiß doch auch nicht ;-)
Mit Gulp hab ich das noch nicht ausprobiert (klappt 'Google Chrome' bzw. 'Google\ Chrome' nicht?).
Für Grunt gibts sonst noch https://github.com/gruntjs/grunt-contrib-connect, falls das ne Alternative wäre.