我尝试使用“ng destroy component foo”,它告诉我“Angular-CLI不支持销毁命令”
如何使用Angular CLI正确地删除组件?
我尝试使用“ng destroy component foo”,它告诉我“Angular-CLI不支持销毁命令”
如何使用Angular CLI正确地删除组件?
当前回答
删除包含该组件的文件夹。 在app.module.ts中,删除该组件的import语句,并从@NgModule的声明部分中删除它的名称 从index.ts中删除包含此组件的export语句的行。
其他回答
我现在使用的是Angular 10。在手动删除所有文件和引用后,我重新运行“ng serve”,它工作了。
我不确定这是否是最好的方法,但它对我来说很有效。
首先,我删除了组件文件夹。 然后,我清除了app.module。与我想删除的组件相关的导入和声明的app.component.ts、app.component.ts和app.component.html。 类似地,我清除了main.ts。
我只是保存并刷新了应用程序,它工作了。
我写了一个bash脚本,它应该自动执行下面Yakov Fain所写的过程。它可以像。/removeComponent这样调用
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Input a component to delete"
exit 1
fi
# finds folder with component name and deletes
find . -type d -name $1 | xargs rm -rf
# removes lines referencing the component from app.module.ts
grep -v $1 app.module.ts > temp
mv temp app.module.ts
componentName=$1
componentName+="Component"
grep -v -i $componentName app.module.ts > temp
mv temp app.module.ts
从app.module.ts:
删除特定组件的导入行; 删除它在@NgModule中的声明;
然后删除想要删除的组件的文件夹及其包含的文件(.component.ts, .component.html, .component.css和.component.spec.ts)。
完成了。
-
我看到有人说要把它从main。ts中删除。你不应该首先从那里导入它,因为它已经导入了AppModule,而AppModule是导入你创建的所有组件的那个。
这是Angular CLI不支持的,而且他们也不打算很快把它包括进来。
这里是链接到实际创建的问题- https://github.com/angular/angular-cli/issues/1776
以及官方给出的解决方案截图