Estoy convirtiendo un proyecto para usar angular cli y todo funciona (una vez que se compila) pero tengo un comportamiento extraño durante la compilación.
con ng serve siempre recibo este error la primera vez que intento: ERROR en No se puede leer la propiedad 'loadChildren' de null
con ng build arroja el mismo error
pero si uso ng build --watch y después de que falla la primera compilación y edito un archivo para activar la compilación nuevamente, tendrá éxito. También tengo el mismo comportamiento con ng build -prod --watch
¿Alguna idea de cómo hacer la construcción correcta la primera vez?
tenga en cuenta que no tengo rutas/módulos secundarios en mi proyecto y no tengo ninguna otra salida para ver qué está causando esto.
Actualización : probado con rutas secundarias y sigo teniendo el mismo comportamiento
Actualización : rebajé @angular libs a 2.4.0 desde 4.0.0 y sigo teniendo exactamente el mismo comportamiento, pero con un mensaje de error diferente;
ERROR en AppModule no es un NgModule
También me encontré con un problema similar con Angular CLI v1.6.
En mi caso, no estaba usando .concat() ni ningún otro tipo de manipulación dinámica de las definiciones del enrutador.
Más bien, tenía una función en una propiedad de datos de una ruta que era una función de flecha anónima. Cambiar esto a una función exportada con nombre resolvió el problema para mí.
Antes:
{ path: ':id', component: ProductDetailComponent, data: { breadcrumb: (data: any, params: any) => { let id = params['id']; return id === 'create' ? 'New Product' : data.product.ShortDescription; } } }Después:
{ path: ':id', component: ProductDetailComponent, data: { breadcrumb: getBreadcrumb } } export function getBreadcrumb(data: any, params: any): string { let id = params['id']; return id === 'create' ? 'New Product' : data.product.ShortDescription; }En mi caso, esta respuesta a un problema relacionado con Github solucionó mi error.
En caso de que se elimine, la solución fue cambiar esto:
export const ROUTES = MY_ROUTES.map(TO_ANGULAR_ROUTE)a esto:
export const ROUTES = []; ROUTES.push(...MY_ROUTES.map(TO_ANGULAR_ROUTE));