Lorsque j'essaie de créer un composant dans la cli angulaire, il me montre cette erreur. Comment puis-je m'en débarrasser?
Erreur: plus d'un module correspond. Utilisez l'option skip-import pour ignorer l'importation du composant dans le module le plus proche.
J'utilise la version angulaire cli: 1.4.1
Spécifiez le module à l'aide du paramètre --module. Par exemple, si le module principal est app.module.ts, lancez ceci:
ng g c new-component --module app
Ou si vous êtes dans un autre répertoire alors
ng g c component-name --module ../
Essayez ceci: Cela fonctionne pour moi
ng generate component componentName --module=app.module
Ça marche pour moi
ng g component component-name --skip-import
Juste une petite mise à jour de la réponse de Zisha.
Dans mon projet, tous les modules ont été placés dans un dossier appelé "modules" et tous les composants sont placés dans le dossier "components" sous "src/app"
donc pour créer un composant sous un chemin spécifique, j'ai utilisé la syntaxe suivante:
ng g c chemin_composants/nom_composant --module chemin_modules/nom_module
exemple :
ng g c composants/connexion - modules modules/app
CLI angulaire: 6.0.8
Noeud: 10.4.0
OS: linux x64
Angular: 6.0.4
Dans le cas où il existe un module de fonctionnalité (par exemple, manager.module.ts à l'intérieur du sous-dossier par exemple "/ manager") avec le module de routage externalisé dans un module séparé (par exemple, manager-routing.module.ts ) le message d'erreur:
Plus d'un module correspond. Utilisez l'option skip-import pour ignorer l'importation du composant dans le module le plus proche.
n'apparaît pas et le composant est correctement généré et ajouté au module manager.module.ts .
MAIS SOYEZ PRUDENT la convention de nommage! le nom du module de routage doit se terminer par " -routing "!
Si le module de routage reçoit un nom tel que par exemple manager-router.module.ts , la CLI se plaindre du message d'erreur et s'attend à ce que vous fournissiez l'option --module pour ajouter automatiquement l'importation du composant:
ng generate component some-name --module=manager.module.ts
ou
ng generate component some-name --skip-import
si vous préférez ajouter manuellement l'importation du composant
J'obtenais une erreur en dessous lorsque j'essayais de créer un nouveau composant dans un dossier.
erreur: plus d'un module correspond. Utilisez l'option skip-import pour ignorer l'importation du composant dans le module le plus proche.
J'ai utilisé la commande ci-dessous et le nouveau composant a été créé avec succès dans un dossier.
ng g c folderName/my_newComponent ---module ../app
Mon projet a été créé avec Visual Studio Community 2017 et crée 3 modules séparés: app.browser.module, app.server.module et app.shared.module.
Afin de créer mes composants, j'ai vérifié les réponses ci-dessus et trouvé que mon module était app.shared.module.
Alors, je cours:
ng g c componentName --module=app.shared.module
S'il y a plus d'un module sous le dossier app, la génération d'un composant avec la commande ci-dessous échouera:
ng generate component New-Component-Name
La raison est angulaire. La CLI détecte plusieurs modules et ne sait pas dans quel module ajouter le composant. Donc, vous devez mentionner explicitement quel composant du module sera ajouté:
ng generate component New-Component-Name --module=ModuleName
Quand app ou lib ont plusieurs modules imbriqués
myApp
> src
> app
app.module.ts
> routes
> login
> auth
login.module.ts
CLI angulaire
ng g component routes/login/auth/my-auth --module=routes/login/login.module.ts
NRWL NX Angular CLI
ng g component routes/login/auth/my-auth --project=myApp --module=routes/login/login.module.ts
Résultat
myApp
> src
> app
app.module.ts
> routes
> login
> auth
> my-auth
my-auth.component.ts etc...
login.module.ts
lorsque vous avez plus d'un module, vous devez spécifier le nom du module
ng g c componentName --module=modulename.module
essayer ng en-tête de composant --module appit est un travail pour moi