2012-04-18 4 views
9

Für Hobbyprojekte arbeite ich gerade mit Sprachen, die später transpiliert werden, wie zB Coffeescript zu Javascript, LESS zu CSS, etc ... Ich habe den Code über Shell-Skripte organisiert und gepflegt.Build-System, das CoffeeScript, LESS (etc) Web-Entwicklung integriert?

Das ist perfekt machbar, aber manchmal denke ich, ein dediziertes Build-System wäre besser geeignet. Typische Aufgaben würden beinhalten, die Dateien zu transpilieren, nichtminimierte Versionen zu entfernen, neuere externe Bibliotheken zu holen usw.

Gibt es ein Build-System, das all diese Funktionen kombiniert?

EDIT:

Vielen Dank für die Antworten. Glück kann es haben, ich fand dieses Werkzeug heute und entschied mich, es zu versuchen: http://brunch.io/ Noch habe ich die Antwort näher an, was ich im Sinn hatte.

Vor Brunch, ich erwäge auch SCons, da es einfach genug für Web-Projekte ist, und ich konnte das Wissen mit anderen Projekten (in C, Python, Java, etc.)

+0

Bearbeitet, so dass es nicht um Empfehlungen bittet, sondern um eine Lösung bittet: Build-System, das Web-Ressourcen-Management integriert (dh weniger, CoffeeScript, etc.) –

Antwort

6

Die am weitesten verbreitete Praxis für Coffeescript-Projekt nutzen ist CoffeeScript eigenen cake zu verwenden. Sie legen eine Cakedatei in den Stamm Ihres Repositorys und erstellen Aufgaben, die Ihre Build-Schritte ausführen. Sie können less.js und Kaffee direkt aus Ihren Aufgaben heraus kompilieren.

Ich benutze ein paar Werkzeuge: browserify und uglifyJS in meinen Cakefile Aufgaben, um ein komplettes Paket für den Browser zu erstellen. Es ist ein fairly complicated Cakefile, aber suchen Sie nach der Build-Aufgabe, um ein Gefühl dafür zu bekommen, wie Sie diese Werkzeuge zusammen verwenden können.

Beachten Sie, dass dieses Beispiel keine CSS im endgültigen Paket enthält, das nur Javascript ist. Here is an example of a Cakefile I've written that embeds javascript right into the html. Sie könnten das gleiche mit CSS tun. Das Schöne an diesem Cakefile ist, dass es die Assets während der Entwicklung getrennt hält und sie dann erst zusammenschließt, wenn Sie bereit sind, sie zu deployen. Das heißt, wenn Sie damit fortkommen können, sie getrennt zu halten, ist dies sowohl für Caching- als auch für Entwicklungs-Komfort-Gründe vorzuziehen. Der einzige Grund, warum ich sie in diesem Beispiel einpacke, ist, dass das endgültige Paket in einer anderen Umgebung ohne standortübergreifenden Zugriff ausgeführt werden muss.

1

Wenn Sie Projekte für ein Webframework wie Rails entwickeln, sollten Sie das Webframework so konfigurieren, dass CoffeeScript und LESS während der Bereitstellung kompiliert werden.

Wenn Sie "statische" Webseiten ohne Backend-Entwicklung, dann würde ich vorschlagen, entweder:

  1. ein Tool wie LiveReload (Mac-only) oder
  2. Verwenden Sie eine statische Website-Generator wie Middleman
+0

"Sie sollten das Web-Framework konfigurieren CoffeeScript und weniger wie sie bedient werden . " ... in Entwicklung – umassthrower

2

ich habe persönlich eine Kombination aus RubyGems für diese Aufgabe wurde unter Verwendung, vor allem:

  • Wache
  • Pinion
  • Wacht Ritzel

Guard ist ein Juwel, das für Dateiänderungen hören und dann tun können, ‚etwas‘ auf diese geänderten Dateien.

Sprockets wird in Ruby on Rails für ihre Asset-Pipeline verwendet. Einfach ausgedrückt übersetzt/konvertiert CoffeeScript, LESS, SASS, JS Templates alles, was konvertiert werden muss und hat ein RubyGem für die Konvertierung.

Die Guard-Kettenräder Juwel ist der Kleber zwischen den beiden, wird es "Rakete" aufrufen, um meine Dateien jedes Mal zu erstellen, wenn ich eine der Quelldateien ändern.

Wenn Sie mit Ruby, RubyGems und Bundler vertraut sind, können Sie einen Project Template mit diesen drei RubyGems erstellen. Es ist definitiv nicht perfekt, aber es funktioniert für mich im Moment und könnte Ihnen helfen, loszulegen.

https://github.com/spadin/frontend-project-template

1

Ich benutze Mindscape Workbench mit Visual Studio 2010, es ist fantastisch.

Von der Website:

  1. Super einfach

    verwenden

    die Erweiterung installieren und Sie sind fertig. Keine Notwendigkeit, Postbuildereignisse oder Ausgabegeneratoren einzurichten. Speichern Sie die Dateien und sie werden die zugehörigen CSS- oder JS-Dateien nach Bedarf generieren. Einfach!

  2. Syntax-Hervorhebungen

    von Visual Studio erstreckt, wird die Web-Workbench geben Sie Sass, Weniger und Kaffee Script Syntaxhervorhebung. Ein guter Weg, um die Syntax zu lernen und den Code, den Sie schreiben, besser zu verstehen.

  3. Intellisense

    Visual Studio bietet einen fantastischen Intellisense für Entwickler und wir haben hart gearbeitet, intellisense zum Sass und weniger Dateien zu bringen, wenn Sie mit der Bearbeitung.

  4. Freie

    Sie sind willkommen zu verwenden, diese Software zu benutzen kostenlos und, wenn Sie es möchten, können Sie für eine kleine 39 $, um die Pro-Edition nach oben!

  5. Sie werden die Bits, die Sie wollen

    Sie müssen alle drei unterstützten Sprachen nicht verwenden. Wenn Sie nur Coffee Script verwenden möchten oder nur Less verwenden möchten, verwenden Sie diese Teile auf jeden Fall. Es ist alles in einer Installation, aber es gibt keine Abhängigkeit voneinander in Ihren Anwendungen.

+0

Ich habe es gerade installiert, und wenn ich etwas nicht vermisse, unterstützt es keinen Produktionscode. Und Sie müssen jede einzelne Kaffeedatei in den HTML-Code einfügen. –

5

Eine weitere Option, die Sie berücksichtigen sollten, ist CoffeeToaster:
http://github.com/serpentem/coffee-toaster

Es kommt mit einem Verpackungssystem, dass, wenn Ihre Ordnerhierarchie verwenden, wie Namespaces Erklärungen zu Ihren Klassen aktiviert wird, wenn Sie so wollen, dann können Sie erstreckt sich Klassen aus mehreren Dateien, tun Importe und Sohn, wie wie:

#<< another/package/myclass 
class SomeClass extends another.package.MyClass 

Die Build-Konfiguration extrem minimalistisch und einfach, machte klar sein:

Es gibt auch eine Debug-Option, die Dateien einzeln kompiliert, um die Debugging-Prozesse und andere nützliche Funktionen zu erleichtern.

Werfen Sie einen Blick, vielleicht gefällt es Ihnen.

+0

Sehr interessantes Projekt. Ich werde es auf jeden Fall überprüfen. Vielen Dank. –