Ich arbeite gerade an einer Integration von Dart in die Rails Asset Pipeline.
Die Zusammenstellung funktioniert bereits; .dart
-Dateien werden von der Asset-Pipeline in .js
kompiliert. Es sollte jedoch auch eine nicht kompilierte .dart
Version geben, die von Dartium interpretiert werden kann.
Der übliche Weg ist, dass .dart
Dateien in der HTML-Quelle mit dem Typ "application/dart"
enthalten sind. Dann gibt es dart.js , wodurch diese .dart
ersetzt werden. Dateien mit der entsprechenden .js
Version, wenn der Browser Dart nicht versteht und foo.dart
durch foo.dart.js
ersetzt.
Mein Problem ist, dass die Asset-Pipeline die kompilierte JavaScript-Version bereitstellt, selbst wenn der Client foo.dart
anfordert. foo.dart
sollte die ursprüngliche, nicht kompilierte Version bereitstellen, nur foo.dart.js
sollte kompiliert werden.
Quelle für ruby-dart und Dart-Schienen
Bearbeiten : Ich dachte daran, nur die rohen .dart
-Dateien in den öffentlichen Ordner zu kopieren, aber das ist keine Option, da die Quelldatei, die von der Asset-Pipeline gesehen wird, möglicherweise auch% co_de enthält % Dateien, die dann in eine einzige .dart
-Datei kompiliert werden. Daher werden nicht alle .js
-Dateien kopiert.
Sie können Ihre .dart-Dateien direkt in public / assets /
ablegenSie sollten nur die Assets, die Sie vorverarbeiten möchten, in App / Assets / (oder Vendor / Assets / ... usw.) einfügen. Die Assets, die nicht vorverarbeitet werden sollen, können direkt in den Ordner public / assets /
gestellt werdenIch frage mich, ob es vielleicht einfacher ist, die gesamte Asset-Pipeline zu überspringen und sich auf den Dart-Editor zu verlassen, um Ihr JavaScript zu kompilieren, wenn Sie mit Ihrem Code zufrieden sind. Entschuldigung, ich weiß, das ist ein bisschen Ghetto.
Tags und Links ruby-on-rails asset-pipeline dart