我正在将一个项目转换为使用角cli,一切都在工作(一旦构建),但是在构建过程中我有一个奇怪的行为。
在使用ng serve时,我总是在第一次尝试时得到这个错误: error in不能读取属性'loadChildren‘的null
使用ng build抛出相同的错误
但是,如果我使用ng build --watch,在第一个构建失败之后,我编辑了一个文件来再次触发构建,它就会成功。我对ng build -prod --watch也有同样的行为
有什么想法,如何得到正确的建设第一次?
请注意,我的项目中没有任何子路由/模块,也没有任何其他输出来查看是什么导致的。
更新:使用子路由进行测试,我仍然得到相同的行为
更新:将@角度库从4.0.0降到2.4.0,我仍然得到了完全相同的行为,但错误消息不同;
AppModule中的错误不是NgModule
发布于 2017-03-31 09:24:20
我为我的路由提供了多个ts文件,我所做的就是在我的app.routes中导入所有这些路由,然后将它们连接在一起调用forRoot:
export const appRoutes = xRoutes.concat(zRoutes)等
将我的所有路由放在一个文件/export语句中之后,错误/怪异的构建行为就消失了。
发布于 2018-01-11 10:50:41
我也遇到了一个类似的问题,角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;
}
}
}之后:
{
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;
}发布于 2019-08-08 06:00:37
在我的例子中,这个答案对一个相关的Github问题修复了我的错误。
如果它被删除,修复程序将更改以下内容:
export const ROUTES = MY_ROUTES.map(TO_ANGULAR_ROUTE)对此:
export const ROUTES = [];
ROUTES.push(...MY_ROUTES.map(TO_ANGULAR_ROUTE));https://stackoverflow.com/questions/43113429
复制相似问题