Frage

Ich starte ein Projekt bei der Arbeit und fragte mich, was das beste Bauen-Werkzeug für die Verwendung wäre.

Das Ganze ist in Kaffeespiegel mit Angularjs für Client-Side und Nodejs für den Server geschrieben.

Es gibt mehrere Komponenten an der App:

  • Eine iPad-App
  • Eine iPhone-App (verschiedene Funktionen vom iPad)
  • A CMS für die Apps
  • a nodejs server

Es gibt Tonnen von freigegebenem Code zwischen all diesen, alle in Kaffeespiegel.

Ich hätte gerne ein Build-Tool, an dem ich auflisten kann, welche App welchen Code verwendet (viel davon freigegeben) und es würde die JavaScript-Dateien der JavaScript-Dateien in einem separaten Ordner aufbauen.

Beispielsweise würde ich einen Ordner namens '/ kompiliert / ipad /' einrichten, der index.html und Ordner für JS, CSS, IMG usw. aufweist. Ich würde auflisten, welche kompilierten Kaffeeatraten, die ich geworfen möchte / kompiliert habe iPad / js (einige davon von /src/shared/*.coffee, einige davon von /src/ipad/s.coffee usw.) und welche Dateien, die ich in / kompiliert / iPad / iPad / CSS geworfen möchte. Ich möchte, dass es in der Lage ist, Dateien einfach zu verketten, wie ich möchte.

Es würde auch meine Tests, von / src / test / ipad in / kompiliert / test / ipad / * erstellen. JS.

Alle meine Kunden-Seite-Tests werden mit Testacular und bin nicht sicher, was ich bin Ich schreibe die serverseitigen Untertests noch.

Welches Build-Tool / -Konfiguration ist der beste Ansatz hier? Ein Makefile? So etwas wie grunt? Ich bin ehrlich neu in der gesamten Baustelle.

edit : beschlossen, mit browserify zu gehen. Sie können meine Lösung finden, um es hier mit eckig zu arbeiten: https:// Gruppen. google.com/forum/#!topic/anbular/ytovaikoccs

War es hilfreich?

Lösung

Ich würde den gesamten freigegebenen Code in node.js-Module einlegen und ein Projekt erstellen, das so etwas wie folgt aussieht:

generasacodicetagpre.

Ich würde dann etwas wie Browserify verwenden (es gibt andere), um die kundenseitigen Apps herunterzufahren, in denen dies erforderlich ist.Auf diese Weise, anstatt eine Build-Datei zu haben, in der Sie sagen, was Sie brauchen, haben Sie eigentlich echte Apps, die Module importieren.

Andere Tipps

Ich denke, das Laufwerk, um Server-Side-Side-Code in JavaScript zu schreiben oder KaffeeScript auch auf Ihre Build-Werkzeugkette zu erweitern: Halten Sie sich auch bei der Verwendung von JavaScript / CoffeeScript dort an. Auf diese Weise können Sie Ihre Server- / Client-Aufgaben von Ihrem Build-Tool problemlos automatisieren - ich bezweifle, dass es mit einem anderen Werkzeug wie Make sinnvoll möglich ist. Vorschläge, bestellt von structured-ness:

  • node.js : Rollen Sie einfach Ihre Build-Skripts in Javascript und rufen Sie sie mit Knoten auf. Ich glaube, ich nehme an, von Shell-Skripten. Ich empfehle diese Route nicht.
  • jake oder Kuchen : Ich komme aus der Java-Welt, also ist es nicht überraschend, dass diese Kinda mich an die Ameise erinnern. Ich bevorzuge kaffeespezifisch, und bevorzugst Kuchen.
  • gruns : Ich hatte noch nicht davon gehört, dass ich nicht viel Ratschläge geben kann. Es erinnert mich an Maven, natürlich ... und ich kann einfach sagen ... Je mehr Struktur ein Build-Tool neigt, neigt dazu, das weniger flexible zu erzwingen, das es sein kann. Es ist etwas von einem Kompromiss. Solange Sie es tun, können Sie "das Build-Tool" -Arbeitsbereich, um jede Menge Zeit zu speichern. Wenn Sie jedoch app-spezifische Probleme haben, kann dies ein königlicher Schmerz sein, um zu lösen.

Natürlich können Sie mit einem anderen Build-Tool eingehen, das Sie bereits mit einer anderen Sprache vertraut sind: Rechen, Maven, Ameise, Gradle usw.

Ich habe fast diese genaue Sache in einem Cakefile mit Knotenmodulen nach Bedarf genutzt.

Legen Sie einige globale Variablen fest, die Arrays mit dem Pfad jeder Datei sind, verkettet diese Dateien in einer Datei im kompilierten Verzeichnis, die Sie angeben, und kompilieren Sie anschließend diese eine Datei in JS.

für die Stile, gleich mit der Verkettung ohne das Kompilieren, offensichtlich.

generasacodicetagpre.

Nun ist das ungefähr das, was ich denke, nach dem Sie fragen.

könnte definitiv hübscher sein, insbesondere mit einer separaten Funktion zum Schreiben der winktierten Inhalte, aber es funktioniert.

Nicht perfekt für die Stile, da ich SASS verwendet habe, und hatte andere Funktionen, bevor er die verdinkte Funktion traf, aber ich glaube, Sie bekommen die Idee.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top