2016-04-11 12 views
7

jestem tutaj znowu, mając nadzieję na znalezienie szybkiego rozwiązania do tego:kątowa 2 Module nie eksportowała członek

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); 

Ten plik jest moje main.ts gdzie mogę zaimportować AppComponent z domu głównym, teraz home.main wygląda następująco:

import {Component} from 'angular2/core'; 

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

    export class InputComponent { 
     name = 'test'; 
    } 

jednak gdy uruchamiam to uzyskać: error TS2305: Module '"controllers/home/home.main"' has no exported member 'AppComponent'. (Same goes for home.controller).

Dziękuję Alex S.

Odpowiedz

4

Powinieneś mieć coś takiego w swoim module home.main:

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

Serdecznie dziękuję panie! Wprowadziłem AppComponent do kontrolera domowego i InputController w home.main ... – Okei

+0

Oh! Nie ma za co! –

+0

Tak, nie mogę uwierzyć, że zrobiłem tak początkujący ruch haha, mam cudowny tydzień, Thierry! :) – Okei

3

Jeśli widzisz ten błąd w żadnej @angular modułów jak routera, rdzeniowej, a następnie upewnij się, że dzieje się tak z powodu niedopasowania wersji bibliotek. Ogólnie wszystkie twoje @ prostokątne moduły powinny być tej samej wersji oprócz routera.

dla 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*** 

następującą kombinację wyrzuca następujący błąd

ma eksportowany element

Zmieniłem wersję routera do

"@ kątowy/router": "^ 3.0.0"

Błąd został rozwiązany.

Więc, dopóki wszystko nie jest stabilne, trzymaj się kombinacji roboczej.

+0

Ale jak to zrobić? – Anuj

+0

Niezgodność wersji wydaje się bardzo prawdopodobna. Miałem podobny problem, w którym @ kątowa/rdzeniowa, @ kątowa/formularze, @ kątowa/http, @ kątowa/platforma-przeglądarka-dynamiczna i inne pakiety były w wersji '^ 4.2.4', ale @ kątowa/platformowa-przeglądarka została zaktualizowano do '^ 5.0.0', co spowodowało, że moduł nie wyeksportował błędu elementu StaticProvider. Zmiana wersji z powrotem na 4.2.4 sprawiła, że ​​problem zniknął. I czytanie o zmianach [angular5] (https://github.com/angular/angular/blob/master/CHANGELOG.md) z 'Provider []' na 'StaticProvider []' potwierdza to jako poprawną poprawkę. – hlovdal

0

Miałem ten problem, nawet gdy poprawnie wyeksportowałem klasę do innych moich plików. Ponowne uruchomienie komputera naprawiło to.

Powiązane problemy