Aot和缩小在带有外部模块的Angular 4中失败

Aot和缩小在带有外部模块的Angular 4中失败,angular,angular-cli,angular2-aot,Angular,Angular Cli,Angular2 Aot,我正在使用Angular CLI构建Angular 4应用程序。在部署到prod之前,我想做aot和缩小。所以我执行了下面的命令 ng build --environment=prod --prod --base-href /myapp/ 这给了我以下的错误 ERROR in Error encountered resolving symbol values statically. Calling function 'ControlValueAccessorProviderFactory',

我正在使用Angular CLI构建Angular 4应用程序。在部署到prod之前,我想做aot和缩小。所以我执行了下面的命令

ng build --environment=prod --prod --base-href /myapp/
这给了我以下的错误

ERROR in Error encountered resolving symbol values statically. Calling function 'ControlValueAccessorProviderFactory', function calls are not supported. Consi
der replacing the function or lambda with a reference to an exported function, resolving symbol DatePicker in D:/myapp/node_modules/angular-i
o-datepicker/src/datepicker/datePicker.d.ts, resolving symbol DatePicker in D:/myapp/node_modules/angular-io-datepicker/src/datepicker/datePi
cker.d.ts

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'D:\myapp\src'
 @ ./src/main.ts 4:0-74
 @ multi ./src/main.ts
Datepicker模块,它正在抱怨它是一个外部模块()


有人能告诉我什么可能是错误的,我如何解决它吗?

根据以下内容:

在这里:

Angular无法静态分析的一种类型是在
提供程序中调用的函数

查看您拥有的库:

这里似乎有一行代码用于
组件
提供者

providers: [ControlValueAccessorProviderFactory(DatePicker)
ControlValueAccessorProviderFactory
来自以下位置:

在本例中,我们看到导出的函数直接在
提供程序
数组中调用


所以我认为这导致了静态分析的问题,导致构建失败。我认为库必须改变处理方式,才能编译您的程序。

有一个@angular/cli错误

它是一段时间前修复的,但解决方法是在npm安装后安装

npm i增强-resolve@3.3.0


这对很多人都是如此,甚至对我也是如此。我的生成过程在1.2.1中失败。我又回到了旧版本,它变魔术了。这是一个angular github问题请求。你是说angular io datepicker的1.2.1版本吗?我目前在angular io datepicker的1.3.1上。您最终使用哪个版本解决了问题?没有。我说的是ng cli。ext库是在构建过程中由它解析的。让我试试你的文件,看看它是否对我有效。@kayasa你在应用程序中的任何地方使用
formcontrols