2016-04-11 12 views
7

Hier bin ich wieder, in der Hoffnung eine schnelle Lösung dieses Problems zu finden:Angular 2 Modul hat keine exportierte Mitglied

Link <- Click on this link to see the folder structure

//main.ts 
import {bootstrap} from 'angular2/platform/browser'; 
import {AppComponent} from './home.main'; 
import {InputComponent} from './home.controller'; 
import {enableProdMode} from 'angular2/core'; 


bootstrap(InputComponent); 
bootstrap(AppComponent); 

Das ist mein main.ts Datei, wo ich die AppComponent von zu Hause aus zu importieren Haupt, jetzt sieht die home.main wie folgt aus:

import {Component} from 'angular2/core'; 

    @Component({ 
    selector:'home', 
    templateUrl:'/index/index.ejs' 
    }) 

    export class InputComponent { 
     name = 'test'; 
    } 

Allerdings, wenn ich dies ausführen, erhalte ich: error TS2305: Module '"controllers/home/home.main"' has no exported member 'AppComponent'. (Same goes for home.controller).

Danke, Alex S.

Antwort

4

Sie sollten in Ihrem home.main Modul so etwas haben:

@Component({ 
    (...) 
}) 
export class AppComponent { 
} 
+0

Vielen Dank, mein Herr :) Ich habe AppComponent in Home-Controller und InputController in Home.Main ... – Okei

+0

Oh! Bitte! –

+0

Ja, ich kann nicht glauben, dass ich so einen Anfänger-Umzug gemacht habe haha, habe eine wundervolle Woche, Thierry! :) – Okei

3

Wenn Sie sehen, diesen Fehler in allen @angular Module wie Router, Kern, dann stellen Sie sicher, dass es wegen der Versionskonflikte der Bibliotheken ist. Im Allgemeinen sollten alle Ihre @angular Module die gleiche Version außer Router haben.

für Ex:

"@angular/common": "2.2.3", 
    "@angular/compiler": "2.2.3", 
    "@angular/core": "2.2.3", 
    "@angular/platform-browser": "2.2.3", 
    "@angular/platform-browser-dynamic": "2.2.3", 
    "@angular/router": "^3.3.0" <= Version mismatch*** 

die folgende Kombination wirft folgende Fehler

hat keine exportierte Mitglied

ich den Router Version

zu

geändert

"@ Winkel/Router": "^ 3.0.0"

Der Fehler behoben ist.

Also, bis alles stabil ist, kleben Sie mit Ihrer Arbeitskombination.

+0

Aber wie geht das? – Anuj

+0

Version Mismatch scheint sehr wahrscheinlich. Ich hatte ein ähnliches Problem, bei dem @ eckig/Kern, @ eckig/Formen, @ eckig/http, @ eckig/Plattform-Browser-dynamisch und andere Pakete waren alle Version '^ 4.2.4' aber @ angular/Plattform-Browser gewesen war aktualisiert auf '^ 5.0.0', was dazu führte, dass ein Modul keinen exportierten Member-StaticProvider-Fehler hat. Durch das Zurücksetzen der Version auf 4.2.4 verschwand das Problem. Und das Lesen von [angular5 changes] (https://github.com/angular/angular/blob/master/CHANGELOG.md) von 'Provider []' nach 'StaticProvider []' sichert dies als eine richtige Lösung ab. – hlovdal

0

Ich hatte dieses Problem, auch wenn ich die Klasse korrekt auf meiner anderen Datei exportiert hatte. Neustart meines Computers repariert es.

Verwandte Themen