Ich habe in meiner Angular-Anwendung ein Pseudo-Backend implementiert. Dieses Schein-Backend wird in den End-to-End-Tests verwendet.Kann kein Angular MockBackend mit Produktionsaufbau importieren
Ich benutze eine Fabrik, um entweder einen tatsächlichen http-Backend-Dienst oder den Mock-Back-End-Dienst zu erstellen. Im Grunde prüft es, ob es sich um einen Produktions-Build handelt, und wenn dies der Fall ist, gibt es einen http-Backend-Service und ansonsten einen Mock-Backend-Service zurück.
diese Fabrik Funktion vereinfacht wie folgt aussieht:
import {
RequestMethod,
Http,
XHRBackend,
BaseRequestOptions,
RequestOptions,
Response,
ResponseOptions
} from "@angular/http";
import { MockBackend, MockConnection } from "@angular/http/testing";
function backendFactory(mockBackend: MockBackend,
options: BaseRequestOptions,
realBackend: XHRBackend) {
if(!useMockBackend) {
console.log("Configuring real HTTP backend...");
return new Http(realBackend, options);
}
console.log("Configuring mock HTTP backend...");
// Listen to incoming requests and send mock data
return new Http(mockBackend, options);
}
Wenn ich diesen Code ausführen in einer Produktions Build ich die folgende Fehlermeldung erhalten: Uncaught Error: Cannot find module "@angular/http/testing/src/mock_backend"
Ich vermute Angular werden einige Module in ein entfernen Produktionsaufbau, um die Web-/App-Größe zu verringern. Ich konnte jedoch keine weiteren Informationen zu diesem Prozess finden. Weiß jemand, ob das deaktiviert werden kann?
Umwelt:
- Angular 4.0.0
- Ionic 2.2.2
- Lubuntu 14.04
- Node 6.9.0
Da der Fehler sagt, ist mockbackend kein Modul und kann daher nicht in dem Import-Bereich sein. Sie können ein Mockbackend im Providerteil bereitstellen. Obwohl ich nicht 100% klar bin, was du hier zu tun versuchst. – PeterS