2016-09-27 70 views
0

所以我来到这里,用思想开发一些非常大的项目,在一些点作为角的进步满2.0版本,它应当启用AOT编译错误,最后我得到的所有API角,准备这样做,或者看起来是这样......编译器,CLI抛出动态声明中遇到

所有的项目首先是工作在JIT模式真的很好用角2和打字稿2.0.2但没有那么在AOT。

经过大量的研究后,我发现问题在于我的声明/提供者/ entryComponents列表是动态聚合 - 这是当应用程序被分割成许多子模块时会发生什么,每个子模块都可以添加这些清单,因为它需要。而当我试着这样做: @NgModule({ declarations:[ configuration.declarations ] }) 我收到Error encountered resolving symbol values statically.

如果我输出聚集在JIT模式值并插入从configuration.declarations所有这些项目的静态列表手动,它突然开始将不起作用。

因此,最大的问题是 - 什么是地狱?为什么它不起作用以及如何克服这个问题?

就像在单个文件中列出的所有子组件要求的大应用程序手动打破良好的代码设计大时间,我最好不相信已证明是一个真正擅长编造理性编码布局的Angular团队意味着唯一的选择。

+0

参见https://github.com/qdouble/angular-webpack2-starter#aot--donts –

回答

1

尝试使用多个NgModule S和它们导入到需要它们的模块。您正试图使用​​importexport来重复编译器为您做的事情。

更多信息看here