2017-08-08 13 views
0

別の環境変数を使用したいと思います。私の場合、test。なぜなら、統合テストのためにhttpインターセプタを注入したいからです。このインターセプタは、あらかじめ定義されたデータで擬似的な応答を返すだけで、テストにのみ使用されます。角度でカスタム環境変数を指定するには?

正式な角度はありますか?

だから、単に私がこのapp.module.tsをしたい:

import { environment } from '../environments/environment'; 
    // ... 

    export function CustomHttpProvider (backend: XHRBackend, options: RequestOptions) { 
     return new HttpService(backend, options); 
    } 

    export function FakeHttpProvider (backend: XHRBackend, options: RequestOptions) { 
     return new FakeHttpService(backend, options); 
    } 

    const HttpProvider = environment.test ? FakeHttpProvider : CustomHttpProvider; 

    @NgModule({ 
     imports: [ 
     BrowserModule, 
     HttpModule, 
     BrowserAnimationsModule, 

     // ... my modules + routing here 
     ], 
     declarations: [AppComponent], 
     providers: [ 
     { 
      provide: Http, 
      useFactory: HttpProvider, 
      deps: [XHRBackend, RequestOptions] 
     } 
     ], 
     bootstrap: [AppComponent] 
    }) 
    export class AppModule {} 

答えて

1

角度CLIは、あなたがそれをサポートするために、いくつかのクラスを設定する場合は、この操作を行うようになるコマンドラインパラメータ--environmentを持っています。

このblog post

This answerは、あなたの質問に関連する多くの情報を提供して参照してください。

注釈として。角度1.5では、私はthis pluginを使用しました。

+0

私は 'angular-cli.json'の' environments'の下に 'environment.test.ts'ファイルを追加していませんでした。ブログ記事へのリンクには、それに関する情報が多く表示されます。ご回答有難うございます ;-) –

関連する問題