rutas que modulos entre diferencia componente cli angular

angular - que - Error: más de un módulo coincide. Use la opción de omitir importación para omitir la importación del componente al módulo más cercano



que es un modulo en angular (13)

Cuando intento crear un componente en el cli angular, me muestra este error. Como me deshago de esto ?

Error: más de un módulo coincide. Utilice la opción de omisión de importación para omitir la importación del componente al módulo más cercano.

Estoy usando la versión angular cli: 1.4.1


Cuando la aplicación o lib tienen múltiples módulos anidados

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

CLI angular

ng g component routes/login/auth/my-auth --module=routes/login/login.module.ts

NRWL NX CLI angular

ng g component routes/login/auth/my-auth --project=myApp --module=routes/login/login.module.ts

Resultado

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


Como truco, debajo de los pasos, funcionó para mí.

1) Mueva los archivos * .module.ts de src / app a una ubicación fuera del proyecto.

2) Ejecute el comando para crear el componente [ng gc component-name]

3) Mueva hacia atrás los archivos * .module.ts a src / app /


Cuando hay más de un módulo en la carpeta de la aplicación, generará un componente con el siguiente comando fallará:

ng generate component New-Component-Name

La razón es que CLI angular detecta múltiples módulos y no sabe en qué módulo agregar el componente. Por lo tanto, debe mencionar explícitamente qué componente del módulo se agregará:

ng generate component New-Component-Name --module=ModuleName


Especifique el módulo usando el parámetro --module. Por ejemplo, si el módulo principal es app.module.ts, ejecute esto:

ng g c new-component --module app

O si estás en otro directorio entonces

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


Esto se debe a que la generación intentó agregar su componente a un módulo, es decir, agregar esta línea

ng generate component componentName --module=app.module

pero encontró 2 módulos.

Como se indicó here , lo arreglaron en una situación en la que, en la carpeta raíz src / app, solo tiene 1 módulo, está bien, así que simplemente mueva los módulos secundarios a una subcarpeta.

De lo contrario, debe usar --module


Me esta funcionando

ng g component component-name --skip-import


Mi proyecto fue creado usando Visual Studio Community 2017 y crea 3 módulos separados: app.browser.module, app.server.module y app.shared.module

Para crear mis componentes, verifiqué las respuestas anteriores y encontré que mi módulo era app.shared.module.

Entonces, corro:

ng g c componentName --module=app.shared.module


Obtuve el siguiente error al intentar crear un nuevo componente en una carpeta.

error: más de un módulo coincide. Utilice la opción de omisión de importación para omitir la importación del componente al módulo más cercano.

He usado el siguiente comando y el nuevo componente se creó con éxito en una carpeta.

ng g c folderName/my_newComponent ---module ../app


Solo una pequeña actualización de la respuesta de Zisha.

En mi proyecto, todos los módulos se colocaron en una carpeta llamada "módulos" y todos los componentes se colocaron en la carpeta "componentes" en "src / app"

así que para crear un componente bajo una ruta específica, utilicé la siguiente sintaxis:

ng gc components_path / component_name --module modules_path / module_name

ejemplo:

ng gc components / login --módulos de módulos / aplicación


cuando tiene más de un módulo, debe especificar el nombre del módulo

ng g c componentName --module=modulename.module


pruebe ng g header de componente - aplicación de módulo, es trabajo para mí


CLI angular: 6.0.8
Nodo: 10.4.0
OS: linux x64
Angular: 6.0.4

En caso de que haya un módulo de características (por ejemplo, manager.module.ts dentro de la subcarpeta "/ manager") con el módulo de enrutamiento externo en el NgModule separado (por ejemplo, manager-routing.module.ts ), el mensaje de error:

Más de un módulo coincide. Utilice la opción de omisión de importación para omitir la importación del componente al módulo más cercano.

no aparece y el componente se genera y agrega correctamente al módulo manager.module.ts .

¡PERO TEN CUIDADO la convención de nombres! ¡el nombre del módulo de enrutamiento debe terminar con " -enrutamiento "!

Si el módulo de enrutamiento recibe un nombre como, por ejemplo, manager-router.module.ts , la CLI se quejará con el mensaje de error y esperará que proporcione la opción --module para agregar automáticamente la importación del componente:

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

o

ng generate component some-name --skip-import

si prefiere agregar la importación del componente manualmente


Prueba esto: está funcionando para mí

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