Angular AOT / ngc重复路由定义

时间:2016-10-05 15:18:02

标签: angular typescript webpack angular2-aot

我在为懒惰加载的Angular应用程序设置提前编译时遇到了一些麻烦。

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

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

我该如何解决这个问题? ngc app.module.ts生成app.module.ngfactory.ts原始<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" extends="json-default"> <action name="angularAction" class="com.action.AngularAction"> <result type="json"> <param name="root">personData</param> <param name="excludeNullProperties">true</param> <param name="noCache">true</param> </result> </action> </package> </struts> 文件的导入似乎很奇怪,但我不知道如何阻止它。

1 个答案:

答案 0 :(得分:2)

如果有人发现此问题,我通过将angular2-router-loader genDir选项设置到我的genDir目录目录中的目录来解决了问题它包含我编译的应用程序的源文件。

现在已使用an example澄清了此选项的文档。