2017-09-11 10 views
2

プロジェクトをアングル4.1.0にアップグレードしました。これには、webpackを2.2.1にアップグレードし、他のパッケージのアップグレードの間にngx-boostrapを1.9.2にアップグレードすることも含まれていました。isDevMode/enableProdModeエラー:プラットフォーム設定後にプロードモードを有効にできません。

このすべてをアップグレードした後、私はdevpackモードでwebpack dev serverを使ってすべてをテストしましたが、すべてうまくいきました。私はその後、生産webpackのビルドを試みた。ビルドは正常に機能しましたが、私たちのサイトを実行するとすぐにエラーが発生しました。 'プラットフォーム設定後にプロードモードを有効にできません'。

Chromeの開発ツールを使用して調査したところ、起動時にngx-bootstrap/utils/warn-once.jsがisDevMode()を呼び出していることがわかりました。これはmain.tsのenableProdMode()の呼び出しの前に発生します。角度コードでは、チェックされた後にモードを変更することはできないため、エラーがスローされます。その部分は分かります。

しかし、webpackについての私の知識は、それが私たちのプロジェクトのために働いていて、それ以上のことはありません。私は何がここに欠点があるのか​​分かりません。それは:

1)ngx-bootstrapは起動時にisDevMode()を呼び出すべきではありません。

2)webpackが正しく設定されておらず、main.tsが実行された後にisDevModeの呼び出しが起きているはずです(アップグレード前に正常に動作していたため変更されていません)。

3)何か他のもの、これは漠然と疑問であることを

謝罪。私はちょうどそれをより正確に尋ねるwebpackの十分な理解がありません。どんな助けでも大歓迎です。

おかげ

答えて

2

ngx-bootstrapを1.9.3にアップデートすると、このリリースでこの問題が修正されました。

+0

パーフェクト。それはそれを修正した。ありがとうございました – Tom

0

は、私は角4.3.4にアップグレードすると同じ問題を抱えていました。

  1. グローバルにアップグレードされた@angular/cliは、プロジェクトのpackage.jsonのバージョンと一致するようにアップグレードされました。 @angular/cli 1.4.0を使用しましたが、Angular 4.1.0の古いバージョンが必要な場合があります。わかりません。
  2. このCLIバージョンの新しいプロジェクトを生成し、アップグレードされたプロジェクトで生成されたプロジェクトのpackage.json,.angular-cli.jsontsconfig.jsonおよびmain.tsを比較しました。
+0

ありがとうございます。私は、あなたが角度のついた新しいプロジェクトを作成することで示唆したようにしました。プロジェクトのtsconfig.jsonをcliと一致するように更新しました。私のpackage.jsonは、追加のパッケージを追加している点でcli 1と異なります。私はwebpackを使っているので、私のプロジェクトにはangular-cli.jsonはありません。 私はまだエラーがあります、そして、私は次に何をするつもりです。 main.tsのenabledProdMode()を呼び出すのがなぜ問題になったのか、私は非常に混乱しています:/ – Tom

関連する問題