回答:
destroy
または同様のものがCLIに登場する可能性がありますが、現時点では主な焦点ではありません。したがって、これを手動で行う必要があります。
コンポーネントディレクトリを削除し(使用しなかった場合--flat
)、NgModule
宣言されているから削除します。
どうすればよいかわからない場合は、現在のgit
変更がないことを意味する「クリーン」なアプリをお勧めします。次に、コンポーネントを生成し、リポジトリで変更された内容を確認します。これにより、コンポーネントを削除するために必要なことをそこからバックトラックできます。
生成したいものについて実験しているだけの場合は、--dry-run
フラグを使用してディスク上にファイルを作成せずに、更新されたファイルリストを確認できます。
Angular CLIの使用はまだサポートされていないため
そのため、ここでは可能な方法です。その前に、CLI(例ng g c demoComponent
)を使用してコンポーネント/サービスを作成するとどうなるかを確認してください。
demoComponent
(ng g c demoComponent
)という名前の別のフォルダーが作成されます。HTML,CSS,ts
、spec
demoComponent専用のファイルを生成します。逆の順序で行います
app.module.ts
依存関係を削除するときは、2つのことを行う必要があります。
現在、Angular CLIはコンポーネントを削除するオプションをサポートしていません。手動で削除する必要があります。
以下のYakov Fainによって書かれたプロセスを自動化するbashスクリプトを書きました。./removeComponent myComponentNameのように呼び出すことができます。これはAngular 6でのみテストされています
#!/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から:
その後、削除するコンポーネントとその付属ファイル(フォルダの削除.component.ts
、.component.html
、.component.css
および.component.spec.ts
)を。
できました。
-
main.tsから消去することについて人々が言っているのを読みました。AppModuleはすでにインポートされているため、そもそもそこからインポートする必要はありませんでした。AppModuleは、作成したすべてのコンポーネントをインポートするものです。
これはAngular CLIではサポートされておらず、すぐにそれを含める気分ではありません。
ここに実際に作成された問題へのリンクがあります-https://github.com/angular/angular-cli/issues/1776
git checkout src
)に対してgit checkoutを実行できます。