我尝试使用“ng destroy component foo”,它告诉我“Angular-CLI不支持销毁命令”
如何使用Angular CLI正确地删除组件?
我尝试使用“ng destroy component foo”,它告诉我“Angular-CLI不支持销毁命令”
如何使用Angular CLI正确地删除组件?
当前回答
如果你在CLI中寻找一些命令,那么ans目前是NO。 但是您可以手动删除组件文件夹和所有引用。
其他回答
因为angular CLI还不支持它
所以这里是可能的方法,在此之前,请观察当你使用CLI创建一个组件/服务时会发生什么(ex. ng g c demoComponent)。
它创建了一个名为demoComponent的单独文件夹。 它生成HTML,CSS,ts和一个专门用于demoComponent的规范文件。 此外,它还在app.module.ts文件中添加依赖项,将该组件添加到项目中。
所以按相反的顺序来做
从app.module.ts中移除依赖项 删除该组件文件夹。
在消除依赖时,您必须做两件事。
从app.module.ts文件中删除导入行引用。 从app.module.ts中的@NgModule声明数组中删除组件声明。
如果你在CLI中寻找一些命令,那么ans目前是NO。 但是您可以手动删除组件文件夹和所有引用。
我写了一个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,删除组件文件夹,并在项目资源管理器(左侧)中看到显示为红色的文件,这意味着文件受到了影响并产生了错误。打开每个文件并删除使用该组件的代码。
首先,删除组件文件夹,你必须删除 然后删除你在“ts”文件中所做的条目。