125 votos

¿Cuál es la mejor manera de eliminar un componente con CLI?

Intenté usar "ng destroy componente foo" y me dice "El comando destroy no es compatible con Angular-CLI"

¿Cómo borramos correctamente componentes con Angular CLI?

96voto

Brocco Puntos 35700

destroy o algo similar puede llegar a la CLI, pero no es un enfoque principal en este momento. Por lo tanto, tendrás que hacer esto manualmente.

Elimina el directorio del componente (asumiendo que no usaste --flat) y luego elimínalo del NgModule en el que está declarado.

Si no estás seguro de qué hacer, te sugiero tener una aplicación "limpia" lo que significa que no hay cambios actuales en git. Luego genera un componente y mira qué cambió en el repositorio para que puedas retroceder desde allí lo que necesitarás hacer para borrar un componente.

Actualizar

Si estás experimentando sobre lo que quieres generar, puedes usar la bandera --dry-run para no producir archivos en disco, solo ver la lista de archivos actualizados.

79voto

Yakov Fain Puntos 823
  1. Eliminar la carpeta que contiene este componente bajo $PROJECT_DIR/src/app,
  2. En el archivo $PROJECT_DIR/src/app/app.module.ts:
    • eliminar la declaración import de este componente,
    • eliminar su nombre de la sección de declaraciones de @NgModule,
  3. Eliminar la línea con la declaración export para este componente de index.ts si existe dicho archivo.

20voto

UniCoder Puntos 1046

Dado que aún no es compatible con el uso de angular CLI

así que aquí está la forma posible, antes observa qué sucede cuando creas un componente/servicio usando CLI (por ejemplo ng g c demoComponent).

  1. Crea una carpeta separada llamada demoComponent (ng g c demoComponent).
  2. Genera archivos HTML, CSS, ts y un archivo spec dedicado a demoComponent.
  3. También agrega la dependencia dentro del archivo app.module.ts para añadir ese componente a tu proyecto.

así que hazlo en orden inverso

  1. Elimina la dependencia de app.module.ts
  2. Elimina esa carpeta de componente.

cuando eliminas la dependencia tienes que hacer dos cosas.

  1. Elimina la línea de importación del archivo app.module.ts.
  2. Elimina la declaración del componente del array de declaración @NgModule en app.module.ts.

8voto

Actualmente, Angular CLI no admite una opción para eliminar el componente, es necesario hacerlo manualmente.

  1. Eliminar las referencias de importación para cada componente en app.module
  2. Eliminar las carpetas de componentes.
  3. También es necesario eliminar la declaración del componente del array de declaraciones @NgModule en el archivo app.module.ts

4voto

babidi Puntos 216

Usando Visual Studio Code, elimine la carpeta del componente y vea en el Explorador de Proyectos (lado izquierdo) los archivos que están en rojo, lo que significa que los archivos están afectados y producen errores. Abra cada archivo y elimine el código que utiliza el componente.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X