Angular AOT/ngc 重复路由定义

Angular AOT/ngc duplicates route definitions

我在为延迟加载的 Angular 应用程序设置提前编译时遇到了一些问题。

延迟加载的路由在 app.routes.ts 文件中定义,该文件由 app.module.ts 导入。当我 运行 ngc app.routes.ts 的内容被内联到 app.module.ngfactory.ts 时,但是这个文件还包含原始 app.module.ts 的导入,然后导入 app.routes.ts 再等等...

然后,当我将 AOT 应用程序与 Webpack 捆绑在一起时,我得到了路由定义的副本(使用 angular2-router-loader),其中的相对路径无法在两个实例之一上解析(因为其中一个是内联的)并且生活在我的目录树的不同级别)。

我该如何解决这个问题? ngcapp.module.ngfactory.ts 中生成原始 app.module.ts 文件的导入对我来说似乎很奇怪,但我不知道如何防止它。

如果有人发现这个问题,我通过将 angular2-router-loadergenDir 选项设置到我的 genDir 目录[=19] 中的目录 解决了这个问题=],其中包含我编译的应用程序的源文件。

此选项的文档现在已通过 an example 阐明。