Eu tentei usar "ng destroy component foo" e ele me diz "O comando destroy não é suportado pelo Angular-CLI"
Como podemos excluir corretamente os componentes com o Angular CLI?
angular
angular-cli
Jus10
fonte
fonte
git checkout src
).Respostas:
destroy
ou algo semelhante pode chegar à CLI, mas não é o foco principal no momento. Então você precisará fazer isso manualmente.Exclua o diretório de componentes (supondo que você não tenha usado
--flat
) e remova-o do diretórioNgModule
em que está declarado.Se você não tiver certeza do que fazer, sugiro que você tenha um aplicativo "limpo", o que significa que não há
git
alterações atuais . Em seguida, gere um componente e veja o que foi alterado no repositório para que você possa voltar a partir daí o que precisará fazer para excluir um componente.Atualizar
Se você está apenas experimentando o que deseja gerar, pode usar o
--dry-run
sinalizador para não produzir nenhum arquivo em disco; basta ver a lista de arquivos atualizada.fonte
fonte
Como ainda não é suportado usando CLI angular
então, aqui está a maneira possível: antes disso, observe o que acontece quando você cria um componente / serviço usando a CLI (ex.
ng g c demoComponent
).demoComponent
(ng g c demoComponent
).HTML,CSS,ts
e umspec
arquivo dedicado ao demoComponent.faça-o na ordem inversa
app.module.ts
ao remover a dependência, você deve fazer duas coisas.
fonte
Usando o Visual Studio Code, exclua a pasta do componente e veja no Project Explorer (lado esquerdo) os arquivos com a cor vermelha, o que significa que os arquivos são afetados e geraram erros. Abra cada arquivo e remova o código que usa o componente.
fonte
Atualmente, a Angular CLI não suporta uma opção para remover o componente, você precisa fazê-lo manualmente.
fonte
Eu escrevi um script bash que deve automatizar o processo escrito por Yakov Fain abaixo. Pode ser chamado como ./removeComponent myComponentName Isso foi testado apenas com o Angular 6
fonte
Não tenho certeza se é o melhor caminho, mas funcionou para mim.
Acabei de salvar e atualizar o aplicativo e ele funcionou.
fonte
Resposta para Angular 2+
Remova o componente
from imports and declaration array
de app.modules.ts.Segundo cheque, sua referência é adicionada em outro módulo; se sim, remova-o e
finalmente
delete that component Manually
do aplicativo e pronto.Ou você pode fazer isso na ordem inversa também.
fonte
Em app.module.ts:
Em seguida, exclua a pasta do componente que deseja excluir e seus arquivos incluídos (
.component.ts
,.component.html
,.component.css
e.component.spec.ts
).Feito.
-
Eu li pessoas dizendo sobre apagá-lo do main.ts. Você não deveria importá-lo de lá em primeiro lugar, pois ele já importa o AppModule, e AppModule é o único que importa todos os componentes que você criou.
fonte
Eu precisava excluir uma diretiva Angular 6 cujo arquivo de especificações estivesse errado. Mesmo depois de excluir os arquivos incorretos, remover todas as referências a ele e reconstruir o aplicativo, o TS ainda estava relatando o mesmo erro. O que funcionou para mim foi reiniciar o Visual Studio - isso limpou o erro e todos os vestígios da antiga diretiva indesejada.
fonte
Primeiro, remova a pasta do componente, que você deve excluir e, em seguida, remova as entradas que você criou nos arquivos "ts".
fonte
Se você está procurando algum comando na CLI, então ans é NO por enquanto. Mas você pode fazer isso manualmente excluindo a pasta do componente e todas as referências.
fonte
Isso não é suportado pelo Angular CLI e eles não estão dispostos a incluí-lo tão cedo.
Aqui está o link para o problema real criado - https://github.com/angular/angular-cli/issues/1776
E uma captura de tela da solução dos funcionários -
fonte