我在为懒惰加载的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
),并且在两个实例之一上没有解析的相对路径(因为一个内联和生命在我的目录树的不同级别)。
我该如何解决这个问题? 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>
文件的导入似乎很奇怪,但我不知道如何阻止它。
答案 0 :(得分:2)
如果有人发现此问题,我通过将angular2-router-loader
genDir
选项设置到我的genDir
目录目录中的目录来解决了问题它包含我编译的应用程序的源文件。
现在已使用an example澄清了此选项的文档。