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

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


当前回答

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

其他回答

这是Angular 2+的答案

从app.modules.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

使用Visual Studio Code,删除组件文件夹,并在项目资源管理器(左侧)中看到显示为红色的文件,这意味着文件受到了影响并产生了错误。打开每个文件并删除使用该组件的代码。

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

我现在使用的是Angular 10。在手动删除所有文件和引用后,我重新运行“ng serve”,它工作了。