2016-01-19 14 views
5

http-serverのサーバーで現在Angular 2を実行しています。http-server ./ index.htmlです。生産環境で角度2を実行する方法

これは、角度の細かい部分に役立ちます。リンクをクリックすると動作します。私がurl/route-nameを直接入力した場合は、url.com/route-nameのようになります。アプリがクラッシュします。

私はlite-serverを使用していましたが、lite-serverドキュメントは開発にのみ使用することをお勧めしました。 lite-serverを使用している場合はurlrouteと直接入力すると問題なく動作します。

http-serverは、ページルートでURLアドレスを入力できるようにするにはどうすればいいですか、angular 2を実稼働環境で実行するもう1つの良い方法はありますか?

+3

に404エラーコードを変換します'http-serveの場合はルートとして扱うことができますあなたはおそらく別のサーバを見つける必要があるというオプションを持っていません – mzulch

答えて

0

mzulchによると、index.htmlに見つからないURLをリダイレクトできるサーバーが必要です。 このURLを入力すると、角度ルータが読み込まれないため、URLを読み込めません。したがって、要求を傍受することはできず、ブラウザーに404が見つかりませんでしたエラーが表示されます。 lite-serverは、開発中にテストするのに最適なサーバーです。

生産では、index.htmlをにすべての404個の要求をリダイレクトするためにnginxのサーバーを構成することができますし、それはあなたがそのようにこれを定義することができますnginxの構成では、実際の404

を処理するために、あなたの角度ルータの責任です。あなたはとても角度のindex.htmlするために、既存のファイルと一致しないURLをリダイレクトするようにサーバーを必要とする

server { 
    error_page 404 =200 /index.html 
    # other conf 
} 

これはあなたのindex.htmlにすべての404エラーをリダイレクトすると200