Angular CLI ERROR in无法读取null的属性'loadChildren'

jpe*_*rez 18 angular-cli angular

我正在转换一个使用angular cli的项目,一切正常(一旦它构建)但我在构建期间有一个奇怪的行为.

ng serve 我总是得到这个错误我第一次尝试:错误无法读取空的特性"loadChildren"

ng build抛出了同样的错误

但是如果我使用ng build --watch 并且在第一次构建失败后我编辑文件以再次触发构建它将成功.我也有同样的行为ng build -prod --watch

任何想法如何第一次正确构建?

请注意我的项目中没有任何子路由/模块,我没有任何其他输出来查看导致此问题的原因.

更新:使用子路由测试,我仍然得到相同的行为

更新:从4.0.0将@angular libs降级到2.4.0并且我仍然得到完全相同的行为,但是有不同的错误消息;

AppModule中的错误不是NgModule

Mic*_*ley 11

我还遇到了与Angular CLI v1.6类似的问题.

在我的情况下,我没有使用.concat()或任何其他类型的路由器定义的动态操作.

相反,我在一个路由的数据属性中有一个函数,它是一个匿名箭头函数.将其更改为命名导出函数可以解决我的问题.

之前:

 {
    path: ':id',
    component: ProductDetailComponent,
    data: {
        breadcrumb: (data: any, params: any) => {
            let id = params['id'];
            return id === 'create' ? 'New Product' : data.product.ShortDescription;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

后:

{
    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;
}
Run Code Online (Sandbox Code Playgroud)


jpe*_*rez 7

我的路由有多个ts文件,我所做的是在app.routes中导入所有这些路由,然后将它们连接起来调用forRoot:

export const appRoutes = xRoutes.concat(zRoutes) 等等

将所有路由放在一个文件/ export const语句后,错误/怪异的构建行为消失了.


Hyp*_*cle 7

这可能是由于项目中的某些语法错误导致

ng build --prod --aot

获得更详细的错误消息。


小智 6

由于路由中的双逗号,我收到此错误,如下所示

在此处输入图片说明


Len*_*ann 5

以我为例,对相关Github问题的回答解决了我的错误。

万一它被删除,修复程序将更改此:

export const ROUTES = MY_ROUTES.map(TO_ANGULAR_ROUTE)
Run Code Online (Sandbox Code Playgroud)

对此:

export const ROUTES = [];
ROUTES.push(...MY_ROUTES.map(TO_ANGULAR_ROUTE));
Run Code Online (Sandbox Code Playgroud)