2017-08-29 32 views
0

まもなく、私は4.6MBのサービスを提供しています。角度4 ng serve --prod vs ng serve

私が行うと:

ngのは、私が1MBのファイルサイズを取得--prod

を提供しています。

しかし、--prodは何とか私のアプリケーション全体を中断させます。

サーバーにリクエストを送信する私の全サービス(約束通り)は機能しなくなりました。

bizzar事は単にNGがいる限り何のサーバ要求が存在しないとして、同様に正常に動作します --prodを果たすNG 完全に罰金作品や特定の部分を果たすことです。

ng serveバージョンが正常に動作して以来、コードを投稿していません。

主な質問は:

は、なぜ私は行動の帽子のようなものを得るのですか?

さらに、ng serve --prodに基づいたアプリが突然完全にうまく動きませんでした。その後、アプリを再起動した後も、壊れたアプリです。

EDIT:もっとEXPLICIT詳細:

私はすべての詳細が正しいことを確認するためにバイオリンを使用しています:

Fiddler pic

あなたが見ることができるように、詳細はOKです。クライアント側でその要求をシミュレートするための責任のコードのための今

login(uName: string, pw: string, type: number): Promise<any> { 
    return new Promise(resolve => { 
     if (type === 1) { 
      const options = new RequestOptions({ headers: this.headers }); 
      const body = JSON.stringify({ username: uName, password: pw }); 
      this.http.post(this.loginUrl, body, options) 
       .toPromise() 
       .then(response => { 
        resolve(response); 
       }) 
       .catch(this.handleError); 
     } else if (type === 2 || type === 3) { 
      this.http.post(this.loginUrl, { username: uName, token: pw }) 
       .toPromise() 
       .then(response => { 
        resolve(response); 
       }) 
       .catch(this.handleError); 
     } 
    }); 
} 

は今、私はのみ(ネットワークタブを)果たすNG を使用する場合、すべてが完璧にどのように機能するかがわかります

ng serve

ご覧のとおり、私はすでにログインしていますが、回答があります。

さて、私は

NG

を--prod仕えるん

瞬間は突然、同じ内容で同じログイン要求は、もはや作品:

ng serve --prod

これはスーパーですbizzar。

サーバーリクエストを担当するすべての方法はすべて同じです。あなたがやったとき

+0

を与えるあなたは、生産と開発のためのWebPACKの設定ファイルを比較しましたか? –

+0

私は何かを忘れていることを知っていました。 @AmanArora - Angular-CLIを使用しています – simon

+0

データのナビゲート/検索時に発生するエラーは何ですか? – DeborahK

答えて

0

を(私は正しいパラメータを送信いたしますのでbizzarもあるように私自身のサーバーコード「メールが満たされていない」)、サーバー自体から来ているいくつかのエラーコードを使用して

「不正な要求」ng serve --prod角度CLIは

が、それは木、すべてのコンポーネントを振ると、これまで実際にすべてではない、あなたのコード内で使用された追加の手段は木が揺れと(事前に)AOTコンパイルで生産ビルドを作ります。つまり、vendor.jsが実際にいくつかのことを確認したのです。ng serve

ビルドが何をしているのかをcliのマニュアルで詳しく読むことができます。

+0

こんにちは。私はすでにそれを知っています。私はこの行動が欲しい。しかし、ツリーの揺れがなぜ私のアプリケーションをサーバー要求にクラッシュさせるのか、私は本当に理解できません。 **編集:私のすべてのサーバー要求は、サービスファイル(.ts拡張子)を持つ 'サービス'フォルダー内にあります。サービスフォルダはsrc/appの中にありますが、私は最新のangular-cliを持っています。私のサービスは含まれていないかのように聞こえますが、サーバーからエラーコードを取得します。 – simon

+0

ええと、両方のビルドプロセスが異なる、私たちのアプリケーションでも同じことが起こります。いくつかのコードはprod/aotビルドのエラーを示しています。私たちはコードを編集する前にそれらを修正します。 –

0

同様の問題に直面し、これらのガイドラインに従って修正されました。問題はAOTがJITがサポートするいくつかの機能をサポートしていないことです。このリンクを確認してください。うまくいけばそれはあなたを助けるでしょう。

<div (click)="toshow = !toShow">Toggle</div> 

Angular DOC About AOT Restrictions

1

--prod

https://github.com/rangle/angular-2-aot-sandbox

は、ビルドのオプションであり、デフォルトでは

は、アプリケーションのブレークは、我々はこのようなコードを持って見る理由の例を見てみましょうデバッグモードであります

imagine、toshowがコンポーネントに定義されていないか、間違って入力したとしますtoShowtoshow

この場合ng buildng serveは動作しますが、ng build --prodng serve --prodはエラーに

+0

ng serve --prodの後にエラーは表示されません。サービスファイルを使用するコンポーネントに移動するときにエラーが発生しています(各サービスには、約束によるget/postメソッドがあります) – simon

関連する問題