Intenté usar "ng destroy component foo" y me dice "El comando de destrucción no es compatible con Angular-CLI"
¿Cómo eliminamos correctamente los componentes con Angular CLI?
angular
angular-cli
Jus10
fuente
fuente
git checkout src
).Respuestas:
destroy
o algo similar puede llegar a la CLI, pero no es un enfoque principal en este momento. Por lo tanto, deberá hacer esto manualmente.Elimine el directorio de componentes (suponiendo que no haya utilizado
--flat
) y luego quítelo del lugarNgModule
en el que se declara.Si no está seguro de qué hacer, le sugiero que tenga una aplicación "limpia", lo que significa que no hay
git
cambios actuales . Luego, genere un componente y vea qué cambia en el repositorio para que pueda retroceder desde allí lo que deberá hacer para eliminar un componente.Actualizar
Si solo está experimentando sobre lo que desea generar, puede usar el
--dry-run
indicador para no producir ningún archivo en el disco, solo vea la lista de archivos actualizada.fuente
fuente
Como todavía no es compatible con CLI angular
así que aquí está la forma posible, antes de eso, observe lo que sucede cuando crea un componente / servicio usando CLI (ej.
ng g c demoComponent
).demoComponent
(ng g c demoComponent
).HTML,CSS,ts
y unspec
archivo dedicado a demoComponent.entonces hazlo en orden inverso
app.module.ts
Al eliminar la dependencia, tienes que hacer dos cosas.
fuente
Con Visual Studio Code, elimine la carpeta de componentes y vea en el Explorador de proyectos (lado izquierdo) los archivos que se colorean en rojo, lo que significa que los archivos se ven afectados y producen errores. Abra cada archivo y elimine el código que usa el componente.
fuente
Actualmente, Angular CLI no admite una opción para eliminar el componente, debe hacerlo manualmente.
fuente
Escribí un script bash que debería automatizar el proceso escrito por Yakov Fain a continuación. Se puede llamar como ./removeComponent myComponentName Esto solo se ha probado con Angular 6
fuente
No estoy seguro de si es la mejor manera, pero funcionó para mí.
Acabo de guardar y actualizar la aplicación y funcionó.
fuente
Respuesta para Angular 2+
Eliminar componente
from imports and declaration array
de app.modules.ts.En segundo lugar, compruebe que su referencia se agrega en otro módulo, en caso afirmativo, elimínelo
finalmente
delete that component Manually
desde la aplicación y ya está.O puede hacerlo también en orden inverso.
fuente
Desde app.module.ts:
A continuación, elimine la carpeta del componente que desee eliminar y sus archivos incluidos (
.component.ts
,.component.html
,.component.css
y.component.spec.ts
).Hecho.
-
Leí gente que decía sobre borrarlo de main.ts. Se suponía que no debía importarlo desde allí en primer lugar, ya que ya importa AppModule, y AppModule es el que importa todos los componentes que creó.
fuente
Necesitaba eliminar una directiva Angular 6 cuyo archivo de especificaciones era erróneo. Incluso después de eliminar los archivos ofensivos, eliminar todas las referencias y reconstruir la aplicación, TS seguía informando el mismo error. Lo que funcionó para mí fue reiniciar Visual Studio: esto eliminó el error y todos los rastros de la antigua directiva no deseada.
fuente
En primer lugar, elimine la carpeta de componentes, que debe eliminar y luego elimine las entradas que ha realizado en los archivos "ts".
fuente
Si está buscando algún comando en la CLI, entonces ans es NO por ahora. Pero puede hacerlo manualmente eliminando la carpeta del componente y todas las referencias.
fuente
Angular CLI no admite esto y no están de humor para incluirlo en el corto plazo.
Aquí está el enlace al problema creado real: https://github.com/angular/angular-cli/issues/1776
Y una captura de pantalla de la solución de los funcionarios:
fuente