webentwicklung-frage-antwort-db.com.de

Fehler: Mehrere Module stimmen überein. Verwenden Sie die Option zum Überspringen des Imports, um das Importieren der Komponente in das nächstgelegene Modul zu überspringen

Wenn ich versuche, eine Komponente im Winkelcli zu erstellen, wird mir dieser Fehler angezeigt. Wie werde ich es los?

Fehler: Mehrere Module stimmen überein. Verwenden Sie die Option "Skip-Import", um das Importieren der Komponente in das nächstgelegene Modul zu überspringen.

Ich verwende die eckige cli-Version: 1.4.1 

118
Ish Man

Geben Sie das Modul mit dem Parameter --module an. Wenn das Hauptmodul beispielsweise app.module.ts ist, führen Sie Folgendes aus:

ng g c new-component --module app

Oder wenn Sie sich in einem anderen Verzeichnis befinden

ng g c component-name --module ../
302
zisha

Dies ist darauf zurückzuführen, dass bei der Generierung versucht wurde, Ihre Komponente einem Modul hinzuzufügen, d. H. Diese Zeile hinzuzufügen

import { MyComponent } from './Components/my-component/my-component.component';

aber es wurden 2 Module gefunden.

Wie hier beschrieben, wurde das Problem behoben, in dem Sie nur ein Modul haben, solange Sie im Root-Ordner "src/app" sind, also Sie sind in Ordnung, also nur verschieben Sie die Sekundärmodule in ein Unterobjekt -Mappe.

Ansonsten müssen Sie --module verwenden. 

30
bresleveloper

Versuchen Sie folgendes: Es funktioniert für mich

ng generate component componentName --module=app.module
24
Shurvir Mori

Es arbeitet für mich

ng g component component-name --skip-import
11

Nur ein kleines Update zu Zishas Antwort. 

In meinem Projekt wurden alle Module in einem Ordner mit dem Namen "modules" abgelegt, und alle Komponenten befinden sich im Ordner "components" unter "src/app".

 folder structure

um eine Komponente unter einem bestimmten Pfad zu erstellen, habe ich folgende Syntax verwendet: 

ng g c komponentenpfad/komponentenname --module module_path/modulname

beispiel: 

ng g c components/login - Modulmodule/App

7
Saleem Khan

Angular CLI: 6.0.8
Knoten: 10.4.0
Betriebssystem: Linux x64
Angular: 6.0.4

Falls sich ein Feature-Modul (zB manager.module.ts im Unterordner "/ manager") befindet, wird das Routing-Modul in das separate NgModule (zB manager-routing.module)) externalisiert .ts) die Fehlermeldung:

Es passen mehr als ein Modul zusammen. Verwenden Sie die Option "Skip-Import", um das Importieren der Komponente in das nächstgelegene Modul zu überspringen.

wird nicht angezeigt und die Komponente wird ordnungsgemäß generiert und dem Modul manager.module.ts hinzugefügt.

ABER BEACHTUNG die Namenskonvention! Der Name des Routing-Moduls muss mit "-routing" abschließen!

Wenn dem Routing-Modul ein Name gegeben wird, z. manager-router.module.ts, CLI wird sich mit der Fehlermeldung beschweren und erwartet, dass Sie die Option --module angeben, um den Komponentenimport automatisch hinzuzufügen:

ng generate component some-name --module=manager.module.ts

oder

ng generate component some-name --skip-import

wenn Sie den Import der Komponente lieber manuell hinzufügen möchten

5
pchemeque

Beim Versuch, eine neue Komponente unter einem Ordner zu erstellen, wurde eine Fehlermeldung angezeigt.

Fehler: Mehrere Module stimmen überein. Verwenden Sie die Option "Skip-Import", um das Importieren der Komponente in das nächstgelegene Modul zu überspringen.

Ich habe den folgenden Befehl verwendet und die neue Komponente wurde erfolgreich unter einem Ordner erstellt.

 ng g c folderName/my_newComponent ---module ../app
1
Shakeer Hussain

Mein Projekt wurde mit Visual Studio Community 2017 erstellt und erstellt 3 separate Module: app.browser.module, app.server.module und app.shared.module

Um meine Komponenten zu erstellen, habe ich die obigen Antworten überprüft und festgestellt, dass mein Modul app.shared.module ist.

Also laufe ich:

ng g c componentName --module=app.shared.module
1
Matheus Maximo

Wenn sich mehr als ein Modul im App-Ordner befindet, schlägt das Generieren einer Komponente mit dem folgenden Befehl fehl:

ng generate component New-Component-Name

Der Grund dafür ist, dass die CLI CLI mehrere Module erkennt und nicht weiß, in welchem ​​Modul die Komponente hinzugefügt werden soll. Sie müssen also explizit angeben, welche Modulkomponente hinzugefügt wird:

ng generate component New-Component-Name --module=ModuleName
0
Palash Roy

Wenn app oder lib mehrere verschachtelte Module haben

myApp
  > src
    > app
      app.module.ts
      > routes
        > login
          > auth
          login.module.ts

Angular CLI

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

Ergebnis

myApp
  > src
    > app
      app.module.ts
      > routes
        > login
          > auth
            > my-auth
              my-auth.component.ts etc...
          login.module.ts
0
SoEzPz

wenn Sie mehr als ein Modul haben, müssen Sie den Modulnamen angeben 

 ng g c componentName --module=modulename.module 
0
priya_21

try ng g Komponentenkopfzeile --module appes ist für mich Arbeit

0