JS zusammenführen und minimieren?


#1

Hallo,

vielleicht nicht gerade 100% Rails, aber dennoch wird wohl der ein oder
andere hier was wissen.

Ich suche eine Möglichkeit meinen JS Wald ein wenig zu ordnen.
Idealerweise stelle ich mir folgendes Szenario vor:

  • Man definiert einen rake Task in dem festgelegt wird welche JS Dateien
    in einer Datei zusammengefasst werden sollen.
  • Sobald der Task angestossen wird, sucht er sich die gewünschten
    Dateien zusammen, fasst die Dateien zusammen und minimiert sie.
  • Idealerweise würde der Task dann bei jedem Capistrano deploy laufen

Zur Entwicklungszeit ist es ja ganz praktisch wenn man relativ viele
einzelne JS Dateien hat. Finde ich persönlich zumindest übersichtlicher
und einfacher zu handeln. Nur wird es langsam doch etwas viel in der
produktiven Umgebung.

Kennt da jemand Tools die einem bei einem solchen Vorhaben helfen? Oder
gibts sogar schon das “ultimative” Tool daf?

Gruss


#2

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Daniel,

Ich suche eine Möglichkeit meinen JS Wald ein wenig zu ordnen.
Idealerweise stelle ich mir folgendes Szenario vor:

  • Man definiert einen rake Task in dem festgelegt wird welche JS Dateien
    in einer Datei zusammengefasst werden sollen.
  • Sobald der Task angestossen wird, sucht er sich die gewünschten
    Dateien zusammen, fasst die Dateien zusammen und minimiert sie.
  • Idealerweise würde der Task dann bei jedem Capistrano deploy laufen

hast Du Dir schon die Option :cache => “dateiname” bei den Methoden
“javascript_include_tag” und “stylesheet_link_tag” angesehen.

Weiter gibt es hier noch was zum zusammenfassen der Dateien.
http://maintainable.com/articles/minifying_your_rails_javascript
Das funktioniert prima, ich hab das selber schon verwendet.

Marcel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJCNzJAb83DOHOfaYRAjnzAJ91FvbFKErjfSKVi63UkhihJGvZtQCeM9Yp
uLu6kjJhI1Of//2SiYlAhzI=
=/wuq
-----END PGP SIGNATURE-----


#3

On Wednesday 29 October 2008, Daniel W. wrote:

Kennt da jemand Tools die einem bei einem solchen Vorhaben helfen?
Oder gibts sogar schon das “ultimative” Tool daf?

Lies mal die Dokumentation zu javascript_include_tag genau. Mit
besonderem Augenmerk auf :all. In Rails 2.2 wird es außerdem die
Option :recursive, die dazu führt, dass auch Skripte in
Unterverzeichnissen berücksichtigt werden.

Minimiert werden die Skripte dabei nicht. Ich bin nicht auf dem
Laufenden, ob das überhaupt einen spürbaren Vorteil bringt, wenn der
Webserver so eingestellt ist (was er sollte), dass er das eine,
zusammengeführte Skript gzip-komprimiert überträgt.

Vorsicht ist bei der Minimierung von Prototype & Co. geboten, weil die
Entwickler keine Rücksicht darauf nehmen, dass ihr Code fehlerfrei
minimierbar ist.

Wenn du auf die Minimierung nicht verzichten willst, hilft vielleicht
das Asset Packager-Plugin

http://synthesis.sbecker.net/pages/asset_packager

Michael


#4

Danke für die Tips euch beiden. javascript_include_tag hatte ich mir
angesehen, aber ob mans
glaubt oder nicht hier läuft noch 1.2.6. Kleines Detail dass ich
verschwiegen hatte. :wink:
Von daher bringt mir da weder :cache noch :all etwas. Aber gut zu
wissen, da das Update auf 2
soll wohl demnächst mal in Angriff genommen werde soll.

Den Link zu maintable.com werd ich mir mal genauer anschauen. Sieht ganz
interessant aus.

Für den manuellen Weg habe ich gestern auch noch ein ganz nettes Tool
gefunden.
http://extjs.com/learn/Tutorial:Building_Ext_From_Source#JS_Builder

Werd ich mir auch mal noch anschauen. Aber damit kann man auch zumindest
die Dateien
komprimieren und zusammenfügen. Wenn ich das Gleiche aber per rake
erledigen kann,
wäre das die Wahl der Qual.

Marcel Devantier schrieb: