2012-07-05 5 views
8

Ich arbeite gerade an einer Integration von Dart in die Rails Asset Pipeline.Nicht kompilierte Versionen von Assets in Rails 3.1+

Kompilierung funktioniert bereits; .dart Dateien werden von der Asset-Pipeline in .js kompiliert. Es sollte jedoch auch eine unkompilierte .dart Version geben, die von Dartium interpretiert werden kann.

Der übliche Weg ist, dass .dart Dateien in der HTML-Quelle mit einem Typ von "application/dart" enthalten sind. Dann gibt es dart.js, die diese .dart Dateien durch die entsprechende .js Version ersetzt, wenn der Browser Dart nicht versteht und foo.dart mit foo.dart.js ersetzt.

Mein Problem ist, dass die Asset-Pipeline die kompilierte JavaScript-Version bedient, auch wenn der Client anfordert. foo.dart sollte die ursprüngliche, unkompilierte Version dienen, nur foo.dart.js sollte kompiliert werden.

Quelle für ruby-dart und dart-rails

bearbeiten: dachte ich nur die rohen .dart Dateien in den öffentlichen Ordner zu kopieren, aber das ist keine Option, da die Quelldatei, die von der Asset-Pipeline zu sehen ist, könnte enthalten andere .dart Dateien, die dann in eine einzige .js Datei kompiliert werden. Also, nicht alle .dart Dateien würden kopiert werden.

+0

Haben Sie Fortschritte dabei gemacht? –

+0

Nein, sorry, ich habe seit Ewigkeiten nicht mehr daran gearbeitet ... – amiuhle

Antwort

-1

Ich frage mich, ob es möglicherweise einfacher ist, die Asset-Pipeline komplett zu überspringen und sich auf den Dart-Editor zu verlassen, um JavaScript zu kompilieren, wenn Sie mit Ihrem Code zufrieden sind. Entschuldigung, ich weiß, das ist ein bisschen Ghetto.

1

Sie können Ihre .dart Dateien direkt in den öffentlichen/assets/

Sie nur Vermögenswerte setzen sollten Sie vorab Prozess wollen setzen in app/assets/(oder Verkäufer/assets/... etc.). Die Assets, die nicht vorverarbeitet werden sollen, können direkt in das Verzeichnis public/assets/abgelegt werden.

Verwandte Themen