angle-cli: Bedingte Importe mit einer Umgebungsvariablen
Gibt es eine Möglichkeit, Importe basierend auf einer Umgebungsvariablen in [email protected] bedingt zu ändern? Ich versuche es auf eine Art und Weise zu tun, die keine Codeänderungen beim Importieren von Diensten in Client-Code erfordert. Bei Bedarf kann ich jedoch ein Build-Flag angeben, das in Scheindiensten ausgetauscht werden soll.
Es gibt ein Muster, mit dem ich versucht habe, vondieser Beitra:
Dateistruktur:
MyService
MyServiceMock.ts
MyServiceReal.ts
index.ts
Und in Ihrer index.ts können Sie Folgendes haben:
import { environment} from '../environments/environment';
export const MyService = environment.mock ?
require('./MyServiceMock').MyServiceMock:
require('./MyServiceReal').MyServiceReal;
Und importieren Sie MyService in Ihren Client-Code:
import MyService from './myservice/index';
Die Seite wird geladen, und ich kann sehen, dass die Abhängigkeit beim Durchlaufen des Codes eingefügt wird. Es gibt jedoch Kompilierungsfehler (die meines Erachtens TypeScript-Fehler sind) in Anlehnung an Cannot find name 'MyService'
.