2017-10-04 12 views
0

アングル4プロジェクトに取り組んでいます。 私が実行したときに「NG構築-prod -aot = false」をあなたは以下を参照することができますように、私はエラーメッセージを持っている生産のためのプロジェクトをビルドするには:プロダクション用アングル4プロジェクトを作成

時間:44075ms チャンク{0} polyfills.d8674538798840c67825.bundle.jsを(ポリライン)252 kB {5} [イニシャル] [レンダリング] チャンク{1} main.2d2d57386cb503360e3d.bundle.js(main)72 kB {4} [レンダリング] チャンク{2} scripts.d0a13d2099c21c77943a.bundle。チャンク{3} styles.aef7beffbbfb61f4f445.bundle.css(スタイル)175バイト{5} [イニシャル] [レンダリング] チャンク{4} vendor.e29287b60dbca26b1047。 bundle.js(ベンダー)3.43 MB [イニシャル] [レンダリング] チャンク{5} inline.6266454082b265a77bf0.bundle.js(インライン)0バイト[エントリ] [rエンドレス]

"エラーでエラーが発生し、シンボル値が静的に解決されました。関数呼び出しはサポートされていません。関数またはラムダをエクスポートした関数(元の.tsファイルの66:27の位置)に置き換えて、C:/Ashirama_workspace/angularproject/src/app/app.module.tsのAppModuleを解決することを検討してください。

ここ

は私app.modu.tsファイルです:

import { NgModule } from '@angular/core'; 
    import { FormsModule,ReactiveFormsModule } from '@angular/forms'; 
    import {NgForm} from '@angular/forms'; 
    import { Http, HttpModule } from '@angular/http'; 
    import { HttpClientModule } from '@angular/common/http'; 
    import { BrowserModule } from '@angular/platform-browser'; 
    import { BrowserAnimationsModule } from '@angular/platform- 
    browser/animations'; 
    import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; 
    import { TranslateHttpLoader } from '@ngx-translate/http-loader'; 
    import { AppRoutingModule } from './app-routing.module'; 
    import { AppComponent } from './app.component'; 
    import { AuthGuard } from './shared/'; 
    import {Guards}from './guards/guards'; 
    import {AuthenticationService} from 
    "./services/authentification.service"; 
    import {UserService} from "./services/user.service"; 
    import {HttpService} from "./services/http.service"; 
    import {LoginComponent} from './login/login.component'; 
    import { AuthHttp, AuthConfig, AUTH_PROVIDERS, provideAuth } from 
    'angular2-jwt'; 
    import {ToastModule} from 'ng2-toastr/ng2-toastr'; 
    import { ToastrModule } from 'ngx-toastr'; 
    import { AlertModule } from 'ngx-bootstrap/alert'; 
    import { Ng2BootstrapModule } from 'ngx-bootstrap/ng2-bootstrap'; 

    // AoT requires an exported function for factories 
    export function HttpLoaderFactory(http: Http) { 
    // for development 
    return new TranslateHttpLoader(http, '/assets/i18n/', '.json'); 
    } 
    @NgModule({ 
     declarations: [ 
     AppComponent 

    ], 
    imports: [ 
    BrowserModule, 
    BrowserAnimationsModule, 
    FormsModule, 
    ReactiveFormsModule, 
    HttpModule, 
    HttpClientModule, 
    AppRoutingModule, 
    ToastModule.forRoot(), 
    ToastrModule.forRoot(), 
    AlertModule.forRoot(), 
    Ng2BootstrapModule, 
    TranslateModule.forRoot({ 
     loader: { 
      provide: TranslateLoader, 
      useFactory: HttpLoaderFactory, 
      deps: [Http] 
      } 
     }) 
     ], 
    providers: [ 
    AuthGuard, 
    AuthenticationService, 
    UserService, 
    HttpService, 
    Guards, 
    AuthHttp, 
    provideAuth({ 
     headerName: 'Authorization', 
     headerPrefix: 'Bearer', 
     tokenName: 'id_token', 
     tokenGetter: (() => localStorage.getItem('id_token')), 
     globalHeaders: [{ 'Content-Type': 'application/json' }], 
     noJwtError: true 
    }) 


    ], 
    bootstrap: [AppComponent] 
     }) 
     export class AppModule { 
     } 

私はI'amが間違っているものを教えてくださいお願いします

+0

あなたは 'アプリを投稿することができますあなたがラムダ関数( '()=> function')をどこに定義したのでしょうか? – Moema

+0

完了しましたapp.modulte.tsにあなたの質問としてファイルが含まれています。 –

+0

私が使用している機能のほとんどはサービスであり、そのログイン(ユーザ名:文字列、パスワード:文字列)のように見えます:Observable {} –

答えて

0

あなたはより詳細な説明についてはthis Github postを参照してください

export function doSomething() { 
    .... 
} 

のようなエクスポート機能にあなたのラムダ関数() => somethingを変換する必要があります。

EDIT:あなたのケースでは

は、あなたがファクトリメソッドでprovideAuthAuthHttpを交換する必要があります。

export function getAuthHttp(http) { 
    return new AuthHttp(new AuthConfig({ 
    headerName: 'Authorization', 
    headerPrefix: 'Bearer', 
    tokenName: 'id_token', 
    tokenGetter: (() => localStorage.getItem('id_token')), 
    globalHeaders: [{ 'Content-Type': 'application/json' }], 
    noJwtError: true 
    }), http); 
} 

、その後

providers: [ 
    { 
     provide: AuthHttp, 
     useFactory: getAuthHttp, 
     deps: [Http] 
    }, 
+0

私はあなたの提案を試してみましたまだ表示されます –

+0

あなたの投稿をエラーをスローするコードで更新できますか? – Moema

+0

それは私の投稿をあなたの質問として更新しました。 –

0

ツリーに振とうが適切に起きていないように見えます。そのは角CLI 1.4で解決されました。 .xただし、以前のバージョンのAngiClientを使用している場合は、反射メタデータを追加して、再度ビルドを試みることができます。

npm install -save reflect-metadata

+0

あなたの答えはありがたいですが、まだエラーがあります –

関連する問題