J'essaye de créer une application ionique 2. Lorsque j'essaye l'application dans le navigateur avec le service ionique ou que je la lance sur un émulateur, tout fonctionne correctement.
Mais quand j'essaye de le construire à 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 add-event.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 supprimer l'une des déclarations, mais je ne sais pas comment.
Si je supprime la déclaration d'AppModule, j'obtiens une erreur indiquant que la page de connexion n'est pas trouvée, lors de l'exécution d'ionic serve
Certaines personnes qui utilisent
Lazy loading
vont tomber sur cette page.Voici ce que j'ai fait pour corriger le partage d' une directive .
shared.module.ts
Puis dans app.module et vos autres modules
la source
La solution est très simple. Recherchez des
*.module.ts
fichiers et des déclarations de commentaires. Dans votre cas, recherchez leaddevent.module.ts
fichier et supprimez / commentez une ligne ci-dessous:Cette solution a fonctionné en ionic 3 pour les pages générées par ionic-cli et fonctionne à la fois dans les commandes
ionic serve
etionic cordova build android --prod --release
!Soyez heureux...
la source
IN Angular 4. Cette erreur est considérée comme un problème de cache d'exécution de service ng.
cas: 1 cette erreur se produira, une fois que vous importez le composant dans un module et une fois que vous importez dans les sous-modules, cela se produira.
cas: 2 Importez un composant au mauvais endroit et supprimez-le et remplacez-le dans le module Correct, cette fois-là, il est considéré comme un problème de cache de service ng. Besoin d'arrêter le projet et de recommencer -do ng serve, cela fonctionnera comme prévu.
la source
Si vos pages sont créées à l'aide de l'interface de ligne de commande, il crée un fichier avec nom de fichier.module.ts, vous devez enregistrer votre nom de fichier.module.ts dans le tableau des importations du fichier app.module.ts et ne pas insérer cette page dans le tableau des déclarations. .
par exemple.
la source
Ce module est ajouté automatiquement lorsque vous exécutez la commande ionique. Cependant, ce n'est pas nécessaire. Une solution alternative consiste donc à supprimer add-event.module.ts du projet.
la source
Vous pouvez simplement essayer cette solution (pour Ionic 3)
Dans mon cas, cette erreur se produit lorsque j'appelle une page en utilisant le code suivant
Je viens de supprimer les citations comme celles-ci et j'ai également importé cette page en haut du fichier que j'ai utilisé, appelez la page de connexion
Je ne peux pas expliquer la différence pour le moment puisque je suis un développeur de niveau débutant
la source
Depuis la version Ionic 3.6.0, chaque page générée avec Ionic-CLI est désormais un module angulaire. Cela signifie que vous devez ajouter le module à vos importations dans le fichier
src/app/app.module.ts
la source
Pour surpasser cette erreur, vous devez commencer par supprimer toutes les importations de app.module.ts et avoir quelque chose comme ceci:
Ensuite, modifiez votre module de pages, comme ceci:
Ajoutez ensuite l'annotation de IonicPage avant l'annotation des composants de toutes les pages:
Ensuite, modifiez votre type rootPage en chaîne et supprimez les importations de pages (s'il y en a dans votre composant d'application)
Ensuite, la fonction de navigation devrait être comme ceci:
Vous pouvez trouver la source de cette solution ici: Le composant fait partie de la déclaration de 2 modules
la source
Résolu - Le composant fait partie de la déclaration de 2 modules
Et exécutez la commande ionic cordova build android --prod --release son fonctionnement dans mon application
la source
J'ai eu le même problème. Assurez-vous simplement de supprimer toutes les occurrences de module dans les «déclarations» mais dans AppModule.
A travaillé pour moi.
la source
Solution simple,
Accédez à votre
app.module.ts
fichier et àremove/comment
tout ce qui est liéadd_event
. Il n'est pas nécessaire d'ajouter des composants auxApp.module.t
s qui sont générés par leionic cli
car il crée un module séparé pour les composants appeléscomponents.module.ts
.Il a les importations de composants de module nécessaires
la source
Comme l'erreur indique de supprimer le module AddEvent de la racine si votre page / composant a déjà un fichier de module ionique, sinon supprimez-le simplement de l'autre / page / composant enfant, à la fin de la page / le composant doit être présent dans un seul fichier de module importé s'il doit être utilisé.
Plus précisément, vous devez ajouter un module racine si nécessaire dans plusieurs pages et si dans des pages spécifiques, conservez-le sur une seule page.
la source
J'ai accidentellement créé mon propre composant avec le même nom que le composant d'une bibliothèque.
Lorsque j'ai utilisé mon IDE pour importer automatiquement la bibliothèque du composant, j'ai choisi la mauvaise bibliothèque.
Par conséquent, cette erreur se plaignait, que je re-déclarais le composant.
J'ai corrigé en important à partir du code de mon propre composant, au lieu de la bibliothèque.
Je pourrais aussi corriger en nommant différemment: éviter toute ambiguïté.
la source
Dans ce scénario, créez un autre module partagé dans lequel importer tous les composants qui sont utilisés dans plusieurs modules.
En composant partagé. déclarer ces composants. Et puis importez le module partagé dans appmodule ainsi que dans un autre module auquel vous souhaitez accéder. Cela fonctionnera à 100%, je l'ai fait et je l'ai fait fonctionner.
la source
J'ai eu la même erreur mais j'ai découvert que lorsque vous importez un
AddEventModule
, vous ne pouvez pas importer unAddEvent
module car il présenterait une erreur dans ce cas.la source