2012-07-05 15 views
8

Actualmente estoy trabajando en una integración de Dart en Rails Asset Pipeline.Sirviendo versiones no compiladas de activos en rieles 3.1+

La compilación ya está funcionando; Los archivos .dart están compilados en .js por la canalización de activos. Sin embargo, también debería existir una versión no compilada de .dart que pueda ser interpretada por Dartium.

La forma habitual es que los archivos .dart se incluyen en la fuente html con un tipo de "application/dart". Luego está dart.js, que reemplaza esos archivos .dart con la correspondiente versión .js si el navegador no comprende Dart, reemplazando foo.dart con foo.dart.js.

Mi problema es que la canalización de activos está sirviendo a la versión compilada de JavaScript, incluso si el cliente solicita foo.dart. foo.dart debe servir la versión original no compilada, solo se debe compilar foo.dart.js.

Fuente de ruby-dart y dart-rails

Editar: pensé en sólo copiar los .dart archivos RAW a la carpeta pública, pero eso no es una opción, ya que el archivo de origen que es visto por el Activo de la tubería podría incluya otros archivos .dart, que luego se compilan en un único archivo .js. Por lo tanto, no se copiarán todos los archivos .dart.

+0

¿Ha realizado algún progreso al respecto? –

+0

No, lo siento, no he trabajado en eso por años ... – amiuhle

Respuesta

-1

Me pregunto si podría ser más fácil omitir la cartera de activos por completo y confiar en el editor de Dart para compilar su JavaScript siempre que esté satisfecho con su código. Lo siento, sé que es un poco ghetto.

1

usted puede poner sus archivos .dart directamente en público/activos/

Sólo debe poner activos que desea pre-proceso en app/activos/(o vendedor/activos/... etc). Los activos que no desea preprocesados ​​pueden colocarse directamente en public/assets/folder

Cuestiones relacionadas