note: Je suis un nouveau venu dans Angular, alors s'il vous plaît, excusez toute stupidité nouvelle venue ici.
Détails
Problème
compiler.es5.js: 1689 Erreur non capturée: directive 'ProjectsListComponent' inattendue importée par le module 'ProjectsModule'. Veuillez ajouter une annotation @NgModule.
Module App
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { environment } from '../environments/environment';
import { ProjectsModule } from './projects/projects.module';
import { HttpModule } from '@angular/http';
@NgModule({
imports: [
BrowserModule,
HttpModule,
ProjectsModule,
AngularFireModule.initializeApp(environment.firebase, 'AngularFireTestOne'), // imports firebase/app needed for everything
AngularFireDatabaseModule, // imports firebase/database, only needed for database features
AngularFireAuthModule // imports firebase/auth, only needed for auth features
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
Module Projets
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ProjectsListComponent } from './projects-list.component';
import { RouterModule } from '@angular/router';
@NgModule({
declarations: [
ProjectsListComponent
],
imports: [
BrowserModule,
ProjectsListComponent,
RouterModule.forChild([
{ path: 'projects', component: ProjectsListComponent }
])
]
})
export class ProjectsModule { }
La procédure de configuration du module n’a pas été différente de celle utilisée lorsque j’utilisais Angular 2. Cependant, après des problèmes de compatibilité entre Angular Cli, Firebase et angular feu, j'ai décidé de tout savoir ce matin.
Toute aide concernant celui-ci serait grandement appréciée car je me suis heurté à un mur de briques avec ma compréhension de tout cela.
Je vous remercie.
Le problème est l'importation de ProjectsListComponent
dans votre ProjectsModule
. N'importez pas cela, mais ajoutez-le au tableau d'exportation si vous voulez l'utiliser en dehors de votre ProjectsModule
.
Les autres problèmes sont les itinéraires de votre projet. Vous devriez les ajouter à une variable exportable, sinon elle n'est pas compatible AOT. Et vous devriez toujours importer la BrowserModule
ailleurs que dans votre AppModule
. Utilisez CommonModule
pour accéder aux directives *ngIf, *ngFor...etc
:
@NgModule({
declarations: [
ProjectsListComponent
],
imports: [
CommonModule,
RouterModule.forChild(ProjectRoutes)
],
exports: [
ProjectsListComponent
]
})
export class ProjectsModule {}
project.routes.ts
export const ProjectRoutes: Routes = [
{ path: 'projects', component: ProjectsListComponent }
]