DotEnv, DefinePlugin, -. - noob, , , process.env( ).
, :
- webpack.envName.js , .
DefinePlugin , . "" webpack.common , .- DefinePlugin "process.env". , js .
- , node, mvn .., dev, . dev ,
local .- - .
. webpack.local.js plugins:
...
new webpack.DefinePlugin({
'process.env': {
NAME: JSON.stringify('local'),
API_URL: JSON.stringify('http://localhost:8000/'),
}
})
...
, fakeService typescript:
~/src/main/webapp/fake-service.ts
@Injectable
export class FakeService {
private URL_ROOT = process.env.API_URL + 'api/v2/externalService/resource/';
constructor(private http: HTTP) {}
get(): Observable<any> {
if(process.env.NAME == 'local') {
console.log("Calling url at " + this.URL_ROOT);
}
return this.http.get(this.URL_ROOT).map((res: Response) => res.json());
}
}
, ( ). , process.env , Configuration, , .