durandal aurelia

¿Cómo actualizo mi aplicación Durandal.js a Aurelia?



(2)

Tengo una aplicación existente de Durandal.js que aprovecha todas las funciones de ES5, pero quiero actualizarla a la nueva plataforma Aurelia. ¿Cuál es la ruta de actualización adecuada y cuál es la forma más sencilla de actualizar por adelantado con el menor dolor posible? ¿Hay un documento con la ruta de actualización?


(Por favor, siéntase libre de hacer de esta una respuesta comunitaria contribuyendo)

Carga del módulo

  1. Aurelia admite el uso de módulos AMD y require.js como cargador de módulos. Si está utilizando require.js con Durandal y desea convertir sus módulos a Aurelia, deberían ser casi idénticos, dependiendo de los cambios futuros que requiera.js.

  2. Las devoluciones de llamada del ciclo de vida siguen siendo el mismo significado que activate , attached , detached , deactivate , canActivate , canDeactivate , y cualquier otro debe permanecer igual. También siguen aceptando devolver una promesa.

  3. Si elige no atenerse a require.js, puede convertir los módulos AMD del formato AMD al formato ES6 +. Esto requiere eliminar la primera o dos líneas y la última línea en el módulo AMD y reemplazarlo con una clase de exportación similar a esta:

    define([], function (){ // stuff ]);

    se convierte en

    import {inject} from ''aurelia-framework''; @inject() export class TheClassName{ // stuff }

Donde la pieza inyectada es el sistema DI de aurelia.

El enlace de datos

  1. Aurelia le brinda al desarrollador la capacidad de utilizar las bibliotecas de enlace de datos que desee, incluidas, entre otras, las aurelia-binding , el handlebars , el knockout , etc. predeterminados.

  2. Es posible que algunas de estas bibliotecas aún necesiten complementos para actualizarse correctamente cuando se produzcan cambios de valor, pero este es un trabajo en progreso para encontrar cuáles. Si está utilizando Durandal 2.1 y knockout , se recomienda dejar el enlace de datos en su lugar tal como está y tomar un enfoque paso a paso para la actualización, un modelo de vista a la vez. Este es un trabajo en progreso y se explicará mejor avanzando

  3. El enlace de datos de Aurelia intenta hacer uso de la tecnología más nueva disponible, pero con mucho gusto retrocederá a la comprobación de errores. Esto permite al desarrollador construir para el futuro, pero respaldar el presente.