2016-10-17 11 views
0

ng2-bootstrap Githubプロジェクトの既存の問題を検索しましたが、類似するものは見つかりませんでした。それでは、ここに同じ。`TypeError:providers.forEachはAOTビルドでAngular2を持つ関数ではありません '

私は角2(2.1.0)、活字体2(2.0.3)、WebPACKの2(2.1.0-beta.25)アプリケーションで働いています。ビルドチェーンには、AOTとuglifyjを使用した開発ビルドとプロダクションビルドの両方があります。アプリケーションはng2-bootstrap TabsModuleDropdownModule1.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) 

私は、それぞれのxxx.module.js中とxxx.module.metadata.js、ない運の両方providers: []を追加し、node_modules\ng2-bootstrap\components内のローカルコピーをいじってみました。それが何らかの証拠を構成するかどうかはわかりません。

誰もAOTと最近のng2-bootstrapバージョンで試したことがありますか?

答えて

0

@compiler.umd.jsにコンソールログを追加した後、問題が出てきました。明確にしたいのですが、それはと全く関係ないとng2-bootstrapです。最近の変更後

、コードこれから変更メインアプリケーションモジュールdefinining:基本的に(右)の代わりに配列の配列の配列(間違った)を通過

import { appProviders as providers } from '../app/providers'; 
// ... 

@NgModule({ 
    providers, 
    // ... 

:これ

import { appProviders } from '../app/providers'; 
// ... 

@NgModule({ 
    providers: [appProviders], 
    // ... 

を。

エラーメッセージは根本的な原因を把握するのには役に立たないと思われますので、このスレッドをここに残しておきます。

関連する問題