studio - No puedo agregar un componente nuevo con cli angular en los spas principales de asp.net
asp.net core angular 5 (8)
En el caso de un proyecto Angular de ASP Net Core, el módulo app.module se divide en 3 archivos como lo ha resaltado. El CLI angular tiene que decidir dónde agregar la referencia al componente en el módulo, por lo que debe proporcionarle alguna ayuda.
ng gc moduleName --module = ''app.module.browser.ts''
Quiero agregar un nuevo componente en asp.net core 2.0 SPAs con angular 4 con ángulo cli con esta versión:
@ angular / cli: 1.4.2
nodo: 8.4.0
os: Linux x64
cuando ejecuté este comando ng gc vehicle-form
en un directorio de componentes obtuve este error:
Error: No se pudo encontrar un NgModule para el nuevo componente. Utilice la opción de omisión de importación para omitir la importación de componentes en NgModule. No se pudo encontrar un NgModule para el nuevo componente. Utilice la opción de omisión de importación para omitir la importación de componentes en NgModule.
Además, tengo 3 archivos para app.module.ts
no uno: /:
app.module.browser.ts
app.module.shared.ts
app.module.server.ts
En mi caso el problema estaba en e2e project. Después de mover mi proyecto de angular 4 a angular 6, se agregó un nuevo archivo de configuración angular "angular.json" en lugar de "angular.conf.json". En una sección de proyectos aparecieron dos proyectos: uno de ellos mi "ng-app" y otro "ng-app-e2e". Cuando intento ejecutar el comando "ng gc" detecto el mismo error. Una causa estaba en la sección raíz de "ng-app-e2e". Tenía valor vacío. Lo puse en "e2e". ¡Ahora todo está bien! Esto ocurre a pesar del hecho de que el proyecto predeterminado se estableció en "ng-app".
"projects": {
"ng-app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
...
},
"ng-app-e2e": {
"root": "e2e", <-- SALVATION
"sourceRoot": "e2e",
"projectType": "application",
...
}
},
"defaultProject": "ng-app"
Está utilizando la CLI angular en un proyecto que no se creó teniendo en cuenta la CLI, por lo que debe tomar un par de pasos adicionales. El mensaje de error le dice que quiere hacer.
Primero, ejecute el comando ng gc vehicle-form
e incluya la opción --skip-import=true
.
Luego, agregue a mano la declaración del componente en el archivo del módulo de aplicación adecuado. En este caso, app.module.shared.ts
, donde se app.module.shared.ts
todos los demás componentes de la aplicación.
O bien, puede ejecutar ng gc vehicle-form
e incluir el --module=''app.module.shared.ts''
. Es posible que tenga que calificar completamente la ruta del archivo del módulo con esto. No lo he probado, así que prepárate para probar algunas cosas con esto por tu cuenta.
Más sobre ng generar componente: generar componente .
ACTUALIZACIÓN (2018-03-01)
Microsoft ha entregado algunas nuevas plantillas de SPA para usar con aplicaciones ASP.NET Core 2.0. Puedes encontrar más detalles sobre ellos here . La nueva plantilla Angular incluye soporte para la CLI angular . Por lo tanto, si está familiarizado con el CLI, esto debería sentirse un poco más como en casa. Esto significa que puede ng g
comandos ng g
para generar código con esta nueva plantilla.
Este error ocurrirá en caso de que el archivo app.module.ts no esté presente. Verifique si el archivo está presente y si no existe, cree uno manualmente.
Me encontré con el mismo problema y luego me di cuenta de que no estaba en la carpeta raíz del proyecto.
No trabajé cuando
/c/some/path/your_project/src/bla/bla/bla
Pero sí funciona (para mí funcionó)
/c/some/path/your_project
Tuve el mismo problema al convertir la versión 5 a 6. Encontré la solución de github . cuando quité e2e de sourceRoot solucionó el problema.
en .angular-cli.json en la parte "apps" reemplaza "./src" por "src"
"apps": [{"root": "src", "outDir": "dist",
ng generar componente componentName --module = app.module
En mi proyecto también obtuve el error anterior. Probé este comando. Esto funciona correctamente. Creo que esto te ayudará.