我尝试使用“ng destroy component foo”,它告诉我“Angular-CLI不支持销毁命令”

如何使用Angular CLI正确地删除组件?


当前回答

如果你在CLI中寻找一些命令,那么ans目前是NO。 但是您可以手动删除组件文件夹和所有引用。

其他回答

删除包含该组件的文件夹。 在app.module.ts中,删除该组件的import语句,并从@NgModule的声明部分中删除它的名称 从index.ts中删除包含此组件的export语句的行。

这是Angular 2+的答案

从app.modules.ts的导入和声明数组中删除组件。

其次检查它的引用是否添加到其他模块中,如果是则删除它

最后手动删除该组件从应用程序,你就完成了。

或者你也可以反过来做。

destroy或类似的东西可能会出现在CLI中,但这不是目前的主要焦点。因此,您需要手动执行此操作。

删除组件目录(假设你没有使用——flat),然后将它从声明它的NgModule中移除。

如果你不确定该怎么做,我建议你有一个“干净”的应用程序,这意味着当前git没有变化。然后生成一个组件,并查看在repo中更改了什么,这样您就可以从那里回溯删除组件所需做的事情。

更新

如果您只是在试验您想要生成的内容,您可以使用——dry-run标志在磁盘上不生成任何文件,只查看更新的文件列表。

从app.module.ts:

删除特定组件的导入行; 删除它在@NgModule中的声明;

然后删除想要删除的组件的文件夹及其包含的文件(.component.ts, .component.html, .component.css和.component.spec.ts)。

完成了。

-

我看到有人说要把它从main。ts中删除。你不应该首先从那里导入它,因为它已经导入了AppModule,而AppModule是导入你创建的所有组件的那个。

我不确定这是否是最好的方法,但它对我来说很有效。

首先,我删除了组件文件夹。 然后,我清除了app.module。与我想删除的组件相关的导入和声明的app.component.ts、app.component.ts和app.component.html。 类似地,我清除了main.ts。

我只是保存并刷新了应用程序,它工作了。