Angular2-Modul hat kein exportiertes Element

10

Für eine Website mit Authentifizierung in Angular2 möchte ich eine Komponente des Authentifizierungs-Submoduls in der Haupt-App-Komponente verwenden. Ich erhalte jedoch weiterhin den folgenden Fehler:

app/app.component.ts(3,10): error TS2305: Module '"<dir>/app/auth/auth.module"' has no exported member 'SigninComponent'.

auch nach dem Exportieren von SigninComponent.

Die Projektordner-Struktur ist wie folgt:

app / auth / auth.module.ts:

%Vor%

app / auth / komponenten / signin.component.ts:

%Vor%

app / app.component.ts:

%Vor%

app / app.module.ts:

%Vor%     
user2416984 21.12.2016, 14:20
quelle

5 Antworten

7

Sie brauchen die Linie nicht:

%Vor%

in Ihrer app.component.ts , da Sie die AuthModule bereits in Ihrer app.module.ts enthalten haben. AutModule import ist ausreichend, um Ihre Komponente in der App zu verwenden.

Der Fehler, den Sie erhalten, ist ein TypeScript-Fehler, kein angularer Fehler. Er gibt an, dass kein exportierter Member existiert, da er nach einer gültigen EC6-Syntax für den Export und nicht nach einem eckigen Modulexport sucht. Diese Zeile würde also in Ihrem app.component.ts funktionieren:

%Vor%     
Fjut 21.12.2016, 21:56
quelle
8

Arbeiten mit Atom (1.21.1 ia32) ... ich habe den gleichen Fehler, obwohl ich einen Verweis auf meine Pipe in der app.module.ts und in den Deklarationen innerhalb von app.module.ts hinzugefügt

Lösung war, meine Knoteninstanz neu zu starten ... die Webseite zu stoppen und dann ng serve wieder zu machen ... zu localhost: 4200 funktionierte wie ein Zauber nach diesem Neustart

    
AIqbal 23.10.2017 09:06
quelle
3

Auch einige der häufigsten Fälle:

Vielleicht exportieren Sie die Klasse mit dem Präfix "default" wie folgt

%Vor%

entfernen Sie es einfach

%Vor%

Das ist das Problem für mich lösen

    
Hasan Daghash 30.05.2017 19:32
quelle
1

Dieser Fehler kann auch auftreten, wenn sich Ihr Schnittstellenname von der Datei unterscheidet, in der er enthalten ist. Weitere Informationen zu ES6-Modulen finden Sie hier. Wenn der SignInComponent eine Schnittstelle war, wie in meinem Fall, dann

%Vor%

sollte in einer Datei namens SignInComponent.ts sein.

    
ahmadalibaloch 30.06.2017 18:35
quelle
0

Für mich tritt ein solches Problem auf, wenn ich mehrere export -Anweisungen in einer einzigen .ts -Datei hatte ...

    
Tomas 06.10.2017 09:26
quelle