web-dev-qa-db-ja.com

Angularビルド-キャッチされないTypeError:未定義のプロパティ 'id'を読み取れません

私はなんとか自分のangularアプリを開発ビルドとしてビルドしました。いくつかのエラーが発生し、開発ビルドをテストする必要があるため、まだ本番ビルドとしては実行していません。 。

開発ビルドプロセスは問題なく実行され、エラーなどは発生しません。次に、nginx Dockerコンテナーのdistフォルダーのファイルを使用して、ファイルをホストします。

問題は何も表示されないことですが、白いページとコンソールに「Uncaught TypeError:Undefined of property 'id' of undefined」というエラーが表示されます。以下の完全なメッセージは、私が書いたものを指しているようには見えず、オンラインで数時間検索してきましたが、この問題について何も見つかりません。

enter image description here

「npx ivy-ngcc」を実行して手動でいくつかをコンパイルするなど、いくつかの異なることを試しました。とにかくエラーの詳細を取得して、それが自分が行ったことかどうかを確認できますか?

[〜#〜] update [〜#〜]したがって、以下のコメントで言及されているように、main.tsでコメント化した行を復元しました。また、提案されているように 'ng build --aot'を試しましたが、これは、使用されているdevextremeコンポーネントに関連していると思われる一連のエラーを表示します。 gitextのdevextreme angularスタータープロジェクトでプロジェクトを開始したときに、これは奇妙なことに気づきました。

次のようなメッセージが表示されます。

  1. 「dx-scroll-viewは有効なHTML要素ではありません」

  2. 「node_modules/devextreme-angular/ui/drawer.d.ts-エラー:SideNavOuterToolbarModuleのNgModule.importsに表示されますが、NgModuleクラスに解決できませんでした」

8
user7856951

angularコンパイルオプションでivyを無効にすることで問題を解決しました。実行するとすぐに、それは開発バージョンと製品バージョンの両方のビルドに機能し、現在Nginx内で完全に機能しています。

ヘルプを提供してくれたすべての人に感謝:)

4
user7856951

私は同じ問題を抱えていて、

loadChildren: './app/page/account/account.module#AccountModule'

loadChildren: () =>
  import('./app/page/account/account.module').then(
    (m) => m.AccountModule
  )

app-router.module.ts

0
Thomas

enter image description here

開発ツールで[ソース]をクリックし、[例外で一時停止しない]をクリックし、[キャッチされた予測で一時停止]をオンにして、 "idエラー"が表示されるまで続行すると、エラーがスローされたモジュールがわかります。私の場合、「ngx-card/ngx-card」というサードパーティのライブラリがあり、そのモジュールがエラーの原因でした(CardModule)。これが少なくともエラーの原因を見つけるのに役立つことを願っています

enter image description here

うまくいけば、これは別の貧しい魂を助けます。

Devextremeを使用しているユーザーには、バージョンを少なくとも19.2.5に更新してください。

https://github.com/DevExpress/devextreme-angular/issues/975#issuecomment-580172291

バージョン19.2.5以降、IVYコンパイラをサポートしています。

0
Josh96

通常、それがあなたが書いたものではない場合、それは実装に関する問題になる可能性があります。

特定の答えではないことはわかっていますが、app.moduleで適切に構成されていることを確認することは、最初のステップとして適切です。おそらく、AOTを使用してビルドしようとすると、ビルドしようとすることから生じる、さらに冗長なエラーが発生することもあります。

0
user1211530