Best Practice für Laravel 4 + Zurb Foundation 5?

8

TL; DR: Was ist der beste Weg, um Dateien, Paketmanager und Build-Tools für Laravel 4 + Zurb Foundation 5 Combo (mit Compass) als ein konsistentes Repository mit sauberen öffentlichen (statischen) anzuordnen Abschnitt?

Ich wollte ein neues Projekt starten, basierend auf dem letzten Laravel auf der Backendseite und mit Foundation für das Frontend. Ich bin neu in beiden und habe offensichtlich einige der Tools vergessen, die ich in der Zwischenzeit entwickelt habe, als ich PHP einige Zeit nicht mehr gemacht habe.

Meine Verwirrung:

  • Laravel verwendet Composer für die Installation und Abhängigkeit / Modulverwaltung. (Ok, ich bin neu in Composer)
  • Foundation ist als Composer-Modul verfügbar (aber was dann?), aber generell auch als CLI-Tool, das ein neues Projekt erstellt und Bower für das Modul- / Abhängigkeitsmanagement verwendet. Aber dann habe ich zwei Repositories.
  • Ist es erforderlich, dass ich alle meine .scss-Dateien auslege, oder vielleicht sogar das gesamte Foundation-Projekt in Laravels öffentliches Verzeichnis einfüge, um alles zu erledigen?

Wie nähern sich Menschen normalerweise diesen Frameworks zusammen? Sie sollten nicht stören, aber sie haben immer noch völlig unterschiedliche Werkzeuge.

Wo lege ich meine Fundamentdateien ab? Behalte es als Composer Modul oder in public ? Wie man sich auf sie bezieht? Wie wird ein build everything -Befehl erstellt?

    
ikari 31.01.2014, 13:43
quelle

2 Antworten

6

Ich habe das gleiche Problem wie Bootstrap SCSS Version für Admin & amp; Foundation SCSS für das Frontend. Ich habe auch bemerkt, dass beide css-Frameworks als Composer-Pakete kommen, aber das Problem mit diesem Ansatz ist, dass Sie in der Regel andere Javascript-Dateien in einer Entwicklung verwenden, die zusammengeführt werden, so dass die Verwendung der Composer-Versionen nur zur Verwirrung beiträgt.

Die beste Lösung, die ich gefunden habe, war entweder Schlucken oder Grunzen mit Bower auf der obersten Ebene Ihres Laravel-Builds. Eher, dass durch die Konfiguration für Sie gehen, gibt es einen guten Artikel bei Ссылка , das geht über eine Bootstrap-Integration, aber dies kann für Foundation optimiert werden. Diese Lösung ist gut, da grunt viele der anderen bekannten JavaScript-Bibliotheken enthält, die Sie auch in Ihrem Projekt verwenden können.

Alternativ können Sie auch eine Anwendung wie Codekit verwenden und ein Kompass-Projekt erstellen, um die Zusammenführung zu verwalten. Kompilieren Ihrer Assets in den öffentlichen Ordner. Als eine Randnotiz, wenn Sie git wieder verwenden, müssten Sie zusätzliche Ordner von Ihrem Projekt ausschließen.

Wenn Sie Ihre SCSS-Framework-Dateien als Entwicklungsressourcen betrachten, müssen diese nicht unbedingt im Projekt enthalten sein, da Sie nur eine Version von Foundation auf Ihrem Entwicklungscomputer benötigen.

Ihre benutzerdefinierten SCSS-Änderungen können Ihrem Laravel-Projekt als Module hinzugefügt werden, z. B. als Navigationsmodul, über ein privates Composer-Repository für das Projekt oder einfach zur Entwicklungszeit zum Compass-Projekt hinzugefügt werden. Ihr Öffentlicher Ordner sollte nur auf die endgültige zusammengeführte style.css & amp; java.js Dateien zum Beispiel. Alle Bilder aus dem Framework können dann einfach in den öffentlichen Ordner kopiert werden, zB Icons etc .. Hoffe, das hilft ..

    
Richard 05.03.2014, 14:24
quelle
6

Persönlich habe ich ein "statisches" Verzeichnis, das statische Dateien enthält. Dort verwende ich SASS-Beobachter, Grunt-Aufgaben und im Grunde den gesamten Frontend-Workflow. Die Ergebnisse dieses Front-End-Build-Prozesses werden nach dem Erstellen usw. in ein "production" Laravel public -Verzeichnis eingefügt.

Ein pro davon ist, dass alles (statische Assets und Laravel-Anwendung) getrennt ist.

Ein con ist das Aktualisieren von Laravel-Ansichten mit Aktualisierungen in HTML-Vorlagen, die Sie im Verzeichnis static erstellen können. Wenn Sie die Vorlagen aktualisieren, müssen Sie möglicherweise auch die Ansichtsdateien aktualisieren, was umständlicher wird, wenn Sie mehr Templatlogik um den HTML-Code in den Ansichten hinzufügen.

Nur ein Vorschlag.

    
fideloper 31.01.2014 14:38
quelle