【问题标题】:compiler-cli throws error as dynamic declarations are encountered遇到动态声明时,compiler-cli 抛出错误
【发布时间】:2017-02-05 01:14:47
【问题描述】:

所以我得到了一个相当大的项目,这个项目的开发理念是,随着 Angular 升级到完整的 2.0 版本,它应该启用 AoT 编译,最后我从 Angular 获取所有 API 并准备好执行它,或者这样看来……

首先,项目在 Angular 2 和 Typescript 2.0.2 的 JiT 模式下运行得非常好,但在 AoT 中却不是这样。

经过大量研究,我发现问题在于我的声明/提供者/入口组件列表是动态聚合的 - 这就是当应用程序拆分为许多子模块时会发生的情况,每个子模块都可以添加一些内容根据需要列出。当我尝试做类似的事情时: @NgModule({ declarations:[ configuration.declarations ] }) 我收到Error encountered resolving symbol values statically.

如果我在 JiT 模式下输出聚合值并在此处手动插入来自 configuration.declarations 的所有条目的静态列表,它会突然开始不起作用。

所以最大的问题是 - 什么鬼?!为什么它不起作用以及如何克服这个问题?

就像手动制作具有单个文件中列出的所有子组件需求的大型应用程序一样,会大大破坏良好的代码设计,我最好不要相信已经证明非常擅长制作合理编码布局的 Angular 团队会暗示作为一个唯一的选择。

【问题讨论】:

标签: angular angular2-compiler


【解决方案1】:

尝试使用多个NgModules 并将它们导入到需要它们的模块中。您正在尝试使用 importexport 复制编译器为您执行的操作。

更多信息请看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多