Angular 2とMeteorを使用しています。コンポーネントを生成すると、次のエラーが生成されます。
モジュール「AppModule」によってインポートされた予期しないディレクティブ「LoginComponent」。 @NgModuleアノテーションを追加してください。
app.module.tsファイルは
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MyApp } from './app.component';
import { LoginComponent } from '../../components/login/login.component';
import { SignupComponent } from '../../components/signup/signup.component';
import { ResourcesComponent } from '../../components/resources/resources.component';
import { NavbarComponent } from '../../components/navbar/navbar.component';
@NgModule({
declarations: [
MyApp,
LoginComponent,
SignupComponent,
ResourcesComponent
],
entryComponents: [
MyApp
],
imports:[BrowserModule,
LoginComponent,
SignupComponent,
ResourcesComponent
],
bootstrap: [MyApp]
})
export class AppModule {}
そして、login.component.tsファイルは
import 'zone.js';
import 'reflect-metadata';
import { Component } from '@angular/core';
import template from "./login.html";
@Component({
selector: 'login',
template
})
export class LoginComponent {}
NgModule.imports
では、モジュールのみをリストできます。コンポーネントではありません。だから問題はここにあります:
imports:[BrowserModule, LoginComponent, SignupComponent, ResourcesComponent ]
コンポーネントを削除し、 NgModules FAQ をご覧ください
何をインポートする必要がありますか?
このモジュールのコンポーネントテンプレートで参照する必要があるパブリック(エクスポート済み)宣言可能クラスのモジュールをインポートします。