Composant est une partie de la déclaration de 2 modules
J'essaie de construire un ionique 2 app.
Quand j'ai essayer l'application dans le navigateur avec l'ionique de servir ou de le lancer sur un émulateur, tout fonctionne bien.
Mais quand j'essaie de compiler à chaque fois l'erreur
ionic-app-script tast: "build"
Error Type AddEvent in "PATH"/add.event.ts is part of the declarations of 2 modules: AppModule in "PATH"/app.modules.ts and AddEvent in "PATH"/add-event.module.ts.
Please consider moving AddEvent in "PATH"/add-event.ts to a higher module that imports AppModule in "PATH"/app.module.ts and AddEventModule.
You can also creat a new NgModule that exports and includes AddEvent then import that NgModule in AppModule and AddEventModule
mon AppModule est
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { AngularFireModule } from 'angularfire2';
import { MyApp } from './app.component';
import { Eventdata } from '../providers/eventdata';
import { AuthProvider } from '../providers/auth-provider';
import { HttpModule } from '@angular/http';
import { HomePage } from '../pages/home/home';
import { Login } from '../pages/login/login';
import { Register } from '../pages/register/register';
import { AddEvent } from '../pages/add-event/add-event';
import { EventDetails } from '../pages/event-details/event-details';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
@NgModule({
declarations: [
MyApp,
HomePage,
Login,
Register,
AddEvent,
EventDetails
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
HttpModule,
AngularFireModule.initializeApp(config)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
Login,
Register,
AddEvent,
EventDetails
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}, Eventdata, AuthProvider
]
})
export class AppModule {}
et mon complément de l'événement.le module.ts est
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { AddEvent } from './add-event';
@NgModule({
declarations: [
AddEvent,
],
imports: [
IonicPageModule.forChild(AddEvent),
],
exports: [
AddEvent
]
})
export class AddEventModule {}
Je comprends que je dois enlever l'une des déclarations, mais je ne sais pas comment.
Si je retire la déclaration de AppModule j'obtiens une Erreur que la Page de Connexion n'est pas trouvé, lors de l'exécution ionique servir
Vous devez vous connecter pour publier un commentaire.
Supprimer de la déclaration de AppModule, mais la mise à jour de la AppModule configuration à importer votre AddEventModule.
Aussi,
Notez qu'il est important que votre AddEventModule exportations de la AddEvent composant si vous voulez l'utiliser en dehors de ce module. Heureusement, vous les avez déjà configuré, mais si elle a été omis, vous avez obtenu une erreur si vous avez essayé d'utiliser la AddEvent composant dans un autre composant de votre AppModule
Certaines personnes à l'aide de
Lazy loading
allez tomber sur cette page.Voici ce que j'ai fait pour résoudre le partage d'une directive.
partagé.le module.ts
Puis dans l'app.module et votre autre module(s)
Solution est très simple. Trouver
*.module.ts
fichiers et de commenter les déclarations. Dans votre cas, trouveraddevent.module.ts
fichier et supprimer ou commenter une ligne en dessous:Cette solution a fonctionné ionique, de 3 pour les pages générées par ionique-cli et fonctionne dans les deux
ionic serve
etionic cordova build android --prod --release
commandes!Être heureux...
Angulaire 4. Cette erreur est considérée comme ng servir de l'exécution problème de cache.
cas:1 cette erreur se produit, une fois que vous importer le composant dans un module et d'importer de nouveau dans les sous-modules vont se produire.
cas:2 Importer un Composant dans la mauvaise place et retiré et remplacé dans le bon module, Que le temps d'envisager de ng servir problème de cache. Besoin d'Arrêter le projet et les start-faire de nouveau ng servir, Il fonctionnera comme prévu.
Si votre site est créé par l'aide de la CLI, puis il crée un fichier avec nom de fichier.le module.ts ensuite, vous devez enregistrer votre nom de fichier.le module.ts dans les importations de la matrice de dans l'app.le module.ts fichier et ne pas insérer cette page dans les déclarations de tableau.
par exemple.
Ce module est ajouté automatiquement lorsque vous exécutez ionique de commande. Cependant, il n'est pas necessery. Donc, une autre solution est de supprimer ajouter l'événement.le module.ts du projet.
Vous pouvez juste essayer cette solution ( pour Ionique 3 )
Dans mon cas, cette erreur arrive lorsque j'appelle une page en utilisant le code suivant
J'ai juste enlevé les guillemets comme la suivante et aussi importé en page sur le haut de la fiche que j'ai utilisé appel de la page de Connexion
Je ne peux pas expliquer la différence en ce moment, depuis que je suis niveau débutant développeur
Depuis le Ioniques La version 3.6.0 communiqué de chaque page générée en utilisant Ionique-CLI est maintenant un module Angulaire.
Cela signifie que vous avez à ajouter le module à votre importations dans le fichier
src/app/app.module.ts
De dépasser cette erreur , vous devez commencer par enlever toutes les importations de l'app.le module.ts et avoir quelque chose comme ceci :
Prochaine modifier vos pages de module , comme ceci :
Puis ajouter l'annotation de IonicPage avant de composant annotation de toutes les pages :
Ensuite modifier votre rootPage type de chaîne et de supprimer les importations de pages (si il y a de tout dans votre application composant )
Alors la fonction de navigation devrait être comme ceci :
Vous pouvez trouver la source de cette solution ici : Composant est une partie de la déclaration de 2 modules
Simple correctif,
Aller à votre
app.module.ts
fichier etremove/comment
tout ce qui se lie avecadd_event
. Il n'est pas nécessaire d'ajouter des composants à laApp.module.t
s qui sont générés par leionic cli
parce qu'il crée un module séparé pour les composants que l'oncomponents.module.ts
.Il a besoin de composant module importations
Résolu -- Composant est une partie de la déclaration de 2 modules
Et Exécutez la commande ionique cordova construire android-prod-la libération
son Travail dans mon application
Avait le même problème. Juste faire supprimer toutes les occurrences de module dans les "déclarations", mais AppModule.
A fonctionné pour moi.
Que l'erreur dit de supprimer le module AddEvent de la racine si votre Page ou le Composant est déjà avait ionique fichier de module, si non seulement supprimer de l'autre/page enfant/composante, à la fin de la page/composant doit être présente dans un seul fichier de module d'importation à être utilisé.
Plus précisément, vous devez ajouter à la racine du module si nécessaire en plusieurs pages et si dans les pages spécifiques de la garder dans une seule page.
J'ai accidentellement créé mon propre composant avec le même nom comme une bibliothèque de composants.
Quand j'ai utilisé mon IDE pour importer automatiquement la bibliothèque pour le composant, j'ai choisi le mauvais bibliothèque.
Donc cette erreur a été de se plaindre, que j'ai été re-déclarer le composant.
Je l'ai fixée par l'importation à partir de mon propre code du composant, au lieu de la bibliothèque.
Je pourrais également fixer en les nommant différemment: éviter toute ambiguïté.
J'ai eu le même message d'erreur mais j'ai découvert que lorsque vous importez un
AddEventModule
, vous ne pouvez pas importer unAddEvent
module, car il y voyait une erreur dans ce cas.