Wie lade ich mehrere Klassen aus einem Modulordner in Angular2 TypeScript?

8

Ich habe eine Angular2-Anwendung mit folgender Modulstruktur:

%Vor%

Meine Modelle index.ts sieht folgendermaßen aus:

%Vor%

Ich möchte alle Modelle in whatever.service.ts laden können.

%Vor%

Der Abschnitt zum Laden der Fässer meiner system-config.js Dateien sieht folgendermaßen aus:

%Vor%

TypeScript kompiliert das ohne Fehler, aber im Browser bekomme ich die folgenden Fehler vom Systemlader und Zone, dass bestimmte Dateien nicht gefunden werden können.

  

GET Ссылка 404 (nicht gefunden) scheduleTask @ zone.js: 101ZoneDelegate.scheduleTask @ zone.js: 336Zone.scheduleMacroTask @ zone.js: 273 (anonyme Funktion) @ zone.js: 122send @ VM59771: 3fetchTextFromURL @ system.src.js: 1154 (anonyme Funktion) @ system.src.js: 1735ZoneAwarePromise @ zone.js: 584 ( anonyme Funktion) @ system.src.js: 1734 (anonyme Funktion) @ system.src.js: 2759 (anonyme Funktion) @ system.src.js: 3333 (anonyme Funktion) @ system.src.js: 3600 (anonyme Funktion ) @ system.src.js: 3985 (anonyme Funktion) @ system.src.js: 4448 (anonyme Funktion) @ system.src.js: 4700 (anonyme Funktion) @ system.src.js: 406ZoneDelegate.invoke @ zone. js: 323Zone.run @ zone.js: 216 (anonyme Funktion) @ zone.js: 571ZoneDelegate.invokeTask @ zone.js: 356Zone.runTask @ zone.js: 256drainMicroTaskQueue @ zone.js: 474ZoneTask.invoke @ zone.js: 426   zone.js: 461 Unhandled Promise-Zurückweisung: Fehler: XHR-Fehler (404 Not Found) wird geladen Ссылка           at XMLHttpRequest.wrapFn [als _onreadystatechange] ( Ссылка )           bei ZoneDelegate.invokeTask ( Ссылка )           bei Zone.runTask ( Ссылка )           bei XMLHttpRequest.ZoneTask.invoke ( Ссылка )       Fehler beim Laden Ссылка als "../../models" von Ссылка ; Zone: ; Aufgabe: Versprechen.dann; Wert: Fehler: Fehler: XHR-Fehler (404 Not Found) wird geladen Ссылка (...) consoleError @ zone.js: 461_loop_1 @ zone.js: 490drainMicroTaskQueue @ zone.js: 494ZoneTask.invoke @ zone.js: 426   zone.js: 463 Fehler: Uncaught (im Versprechen): Fehler: Fehler: XHR-Fehler (404 Not Found) wird geladen Ссылка (...)

Wenn ich jedes Modell direkt aus seiner .ts -Datei importiere, funktioniert alles.

%Vor%

Wie kann ich Module importieren, ohne Fehler in Angular2 zu verursachen?

    
Soviut 10.06.2016, 15:12
quelle

2 Antworten

9

Von dem, was ich sagen kann, ist wahrscheinlich das, was Sie wollen:

./ model / index.ts würde etwa so aussehen:

%Vor%

Dann sagen wir, dass Sie es von Ihrem was.service.ts

importieren möchten

whatever.service.ts würde so aussehen:

%Vor%

, da Sie eine Indexdatei im Ordner models angeben. Sie sollten nur den Ordner importieren können. Wie oben angegeben.

Hoffe, das ist klarer.

    
Nige 10.06.2016 15:35
quelle
0

Erstellen Sie einen neuen .ts ist der models Ordner:

Neue Datei all_models.ts :

%Vor%

Dann können Sie Folgendes tun:

%Vor%

Das einzige Problem hier ist, dass Sie all_modules.ts auf dem neuesten Stand halten und Referenzen zu jeder neuen .ts -Datei mit Modellen hinzufügen.

    
Andrei Zhytkevich 10.06.2016 15:23
quelle

Tags und Links