我搜索了ng2-bootstrap Github项目的现有问题,但找不到类似的东西。同样在这里。
我正在使用Angular 2( 2.1.0 ),TypeScript 2( 2.0.3 ),Webpack 2( 2.1.0 -beta.25 )申请。构建链既有开发构建,也有生产过程,有AOT和uglifyjs。应用程序取决于ng2-bootstrap TabsModule
和DropdownModule
( 1.1.14 )。
开发构建顺利。使用AOT构建时,失败的是:
TypeError: providers.forEach is not a function
at CompileMetadataResolver.getProvidersMetadata (D:\myproj\node_modules\@angular\compiler\bundles\compiler.umd.js:14292:21)
at CompileMetadataResolver.getNgModuleMetadata (D:\myproj\node_modules\@angular\compiler\bundles\compiler.umd.js:14051:60)
at D:\myproj\node_modules\@angular\compiler\bundles\compiler.umd.js:12801:47
at Array.forEach (native)
at analyzeModules (D:\myproj\node_modules\@angular\compiler\bundles\compiler.umd.js:12800:17)
at OfflineCompiler.analyzeModules (D:\myproj\node_modules\@angular\compiler\bundles\compiler.umd.js:12826:18)
at CodeGenerator.codegen (D:\myproj\node_modules\@angular\compiler-cli\src\codegen.js:122:47)
at codegen (D:\myproj\node_modules\@angular\compiler-cli\src\main.js:7:81)
at Object.main (D:\myproj\node_modules\@angular\tsc-wrapped\src\main.js:30:16)
at Object.<anonymous> (D:\myproj\node_modules\@angular\compiler-cli\src\main.js:14:9)
我尝试在node_modules\ng2-bootstrap\components
内摆弄本地副本,在providers: []
和xxx.module.js
分别添加xxx.module.metadata.js
,但没有运气。不确定这是否构成任何证明。
有没有人尝试使用AOT和最近的ng2-bootstrap版本?
答案 0 :(得分:0)
将控制台日志添加到@angular compiler.umd.js
后,问题出现了 - 我想说清楚 - 它与完全无关到ng2-bootstrap。
最近的更改后,代码定义的主应用程序模块发生了变化:
import { appProviders } from '../app/providers';
// ...
@NgModule({
providers: [appProviders],
// ...
到此:
import { appProviders as providers } from '../app/providers';
// ...
@NgModule({
providers,
// ...
基本上传递数组(错误)而不是数组数组(右)。
错误消息对于获得根本原因的良好上下文似乎没那么有用,因此我将此线程保留在此处,以防它可能有用。