2016-11-04 7 views
2

私のアプリケーションでリクエストを模擬しようとしましたが、プロセス変数に問題があります。私はバックエンドAPIにprocess.env.backendUrl URLを格納します。角2のテスト - process.env

constructor(private http: Http) { 
    this.rest = process.env.backendUrl + "/api/"; 
} 

と例LoginComponentのために、私はRestService依存性を持っていると私はこのエラーを持っているので、今ではテストを実行することは不可能である:そしてRestServiceに私が持っている

zone.js:140 Uncaught Error: Error in ./LoginComponent class LoginComponent_Host - inline template:0:0 caused by: process is not defined 
ReferenceError: process is not defined 
at new RestService (http://localhost:9876/base/src/test.ts:21595:2790) 
at DynamicTestModuleInjector.get (DynamicTestModule.ngfactory.js:170:67) 
at DynamicTestModuleInjector.get (DynamicTestModule.ngfactory.js:180:93) 
at DynamicTestModuleInjector.getInternal (DynamicTestModule.ngfactory.js:255:51) 
at DynamicTestModuleInjector.NgModuleInjector.get (http://localhost:9876/base/src/test.ts:25036:27) 
at TestBed.get (http://localhost:9876/base/src/test.ts:5589:51) 
at _View_LoginComponent_Host0.createInternal (LoginComponent_Host.ngfactory.js:16:74) 
at _View_LoginComponent_Host0.AppView.create (http://localhost:9876/base/src/test.ts:36192:21) 
at _View_LoginComponent_Host0.DebugAppView.create (http://localhost:9876/base/src/test.ts:36404:44) 

私はproccessを設定しました.env.backendUrl in enviroment.ts(angular-cliによって作成されたファイル)。

process.env.backendUrl = 'http://localhost:8080'; 

export const environment = { 
    production: false 
}; 

私は別の場所に設定するか、この変数についてカルマに伝える方法はありますか?

答えて

6

角度-cliを使用している場合は、backendUrlenvironmentに追加するだけです。

export const environment = { 
    production: false, 
    backendUrl: 'http://localhost:8080' 
}; 

また、それは、生産のURLへのURLを設定し、environment.prod.tsファイルに追加する必要があります。プロダクションでビルドすると、.prodファイルが使用されます。

ファイルにenvironmentenvironment.tsファイルから)をインポートし、environment.backendUrlを使用してください。

関連項目:

+0

は、それがうまく機能、ありがとう – Mossar

関連する問題