loadChildrenによるError: Cannot find moduleエラー

angular-icon

app-routing.moduleから別のモジュールのルーティングを指定する(loadChildren)場合に出たエラーについて。
app-routing.moduleからusersモジュールへのルーティングをusers-routing.moduleに定義していたので、loadChildrenで指定した。
loadChildren-error1
ブラウザを確認するとエラーが。
loadChildren-error2
なにやらusers.moduleを読み込めていない様子。
特に問題なさそうなのになぜ?ということでググってみると、stack overflowでこちらの記事があった。
そこには、そのモジュールをインポートして、そのクラスを直接loadChildrenのところに書いているよう。
loadChildren-error3
アロー関数を使っていてよくわからないけどとりあえず試してみた。
loadChildren-error4
そうすると、お見事。エラーは消え無事ページが表示されました。
loadChildren-error5
解決したのは嬉しいけど、アロー関数のところが不明。調べないと。

追記(4/7)
こちらの記事でこんなことが書かれていました。
「※注意2: Moduleのパスはapp/からはじめているチュートリアルもあり、実際何がベスト・プラクティスなのか分からない。今回はこれで動いた。」
ってことで試してみると動きました。
アロー関数だとJITコンパイラじゃないとダメで、Angular5?からだとAOTコンパイラだからうまく動かない的な感じらしい。

こちらの記事でこんな記述があったけどうまく動かず。
lazyload

LazyLoadとは
Angular のJITコンパイラとAOTコンパイラ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です