Is there a way to conditionally change imports based on an environment variable in angular-cli@1.0.0-beta.16? I\'m trying to do it in a way that doesn\'t require code change
You're going about it completely wrong. Angular can handle this use case with the use of factories when you configure the providers
providers: [
Any,
Dependencies
{
provide: MyService,
useFactory: (any: Any, dependencies: Dependencies) => {
if (environment.production) {
return new MyService(any, dependencies);
} else {
return new MockMyService(any, dependencies);
}
},
deps: [ Any, Dependencies ]
]
Now you can just inject MyService everywhere because of the provide: MyService, but in development, you will get the mock, and in production you will get the real service.
See Also: