ah, schön: Kommen wir also zu der Frage, ob mit Sprockets wirklich alles besser wird:

1. vermutlich steht in application.js ein require_tree . - das sorgt dafür, dass sich sprocket alles saugt, was im Baum von assets/_javascript_s liegt. Ich habe mittlerweile auf das application.js verzichtet, und habe statt dessen Unterverzeichnisse, in denen die einzelnen Applikationen liegen. In application.js wird jetzt nur noch das required was wirklich immer und überall gebraucht wird - in den einzelnen Applikationen wird entweder explizit referenziert (myfiles.js) oder mit require_tree nur noch dass js in diesem Verzeichnis geladen. One big giant js, so wie es der default von application.js zu sein scheint, finde ich zu wenig transparent...
 
2.  am besten über  explizites require "mylib.js": require_tree "." inkludiert alphabetisch sortiert (soweit ich das sehen konnte...) daher ist die Reihenfolge hier eher willkürlich....

3. für markitup hab ich die Sachen auseinandergezogen und alles auf assets/images bzw. assets/stylesheets verteilt: Das markitup-stylesheet ist nicht besonders groß und da ich ein eigenes Theme habe, in dem sowieso das meiste angepasst ist, schien mir das das Praktikabelste zu sein (hat den Nebeneffekt, dass man dann auch sass/scss für das Stylen von markitup benutzen kann. Für jquery-ui ist das weniger lustig: Hier habe ich einen Ordner: assets/stylesheets/jquery-ui/themes in dem die themes liegen: das entsprechende theme wird dann über ein eigenes = stylesheet_link_tag 'jquery-ui/themes/ui-lightness/jquery-ui' eingebunden - da stimmen dann auch die Pfade zu den Bildern.

Insgesamt ist das Ganze noch hakelig und fummelig& vor allem gewöhnungsbedürftig: Für externe libraries ist es vermutlich sowieso besser über irgendwelche CDNs zu gehen (http://www.cdncatalog.com/) - das alles zu einem gigantischen js/css zu zippen, was User sowieso schon in ihrem Cache haben, macht eh wenig Sinn. Ich hab keine Ahnung, ob das so der richtige Weg ist, ist ja alles noch ganz frisch. Würde mich interessieren, wie andere das machen, ich bin für Tips&Tricks dankbar!!

Grüße
Stefan




[email protected]
23. Juni 2011 11:51

Ich stehe hier gerade vor einem Verständnisproblem bei den assets in Rails 3.1rc . Ich verwende für einige Texteingaben das jquery-Plugin MarkIt-Up.

1. MarkItUp wird mit allen js-Dateien, die sich in seinem Verzeichnisbaum befinden, in application.js geladen. Das sollte aber nicht so so sein. Es sollte lediglich die Datei jquery.markitup.js in die appliaction.js wandern. Mir nicht klar, wie ich das Laden dieser Dateien in die application.js unterbinden kann.

2. Wie kann ich denn grundsätzlich die Ladreihenfolge der js und css Dateien bestimmen?

3. Die CSS-Dateien und Bilder für das MarkItUp-Plugin liegen im /assets/_javascript_s/markitup-Verzeichnis. Wie kann ich denn diese CSS-Dateien für den Sprockets-Prozessor so auffindbar machen, daß sie in die application.css wandern?

Vielen Dank schonmal im Voraus.
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an