2016-07-10 13 views
4

角度のある(ほとんどがui-router)フロントエンドWebアプリケーションを構築し、ノードhttp-serverを介してhtmlファイルを提供することでローカル開発を行っています。私はhttpサーバが私の静的なhtmlファイルを提供していないことに気付きました。ノードhttpサーバが最新のhtmlファイルを配信していません

グローバルにhttpサーバーをnpm install http-server -gにインストールし、ルートプロジェクトフォルダに移動してhttp-serverを実行して起動します。デフォルトではlocalhost:8080になります。動作するように見える2つの方法は、それぞれのアップデート後、またはクロームシークレットモードを経由してポート番号を変更することです。

通常、ポートを変更したりシークレットモードを使用しなくてもhttp-serverを使用する方法はありますか?

それが関連している場合は、私はMBP vを使用しています。10.11.3

ありがとうございました!

答えて

5

2つの方法は、各アップデート後またはクロームシークレットモードを経由してポート番号を変更することです。

問題はクライアント側のキャッシュです。シークレットモードには、通常のブラウジングとは独立した独自のデータディレクトリがあります。

幸いにも、http-serverはキャッシュコントロールヘッダーを設定する方法を提供します。

-cキャッシュ制御最大エージングヘッダーのキャッシュ時間(秒単位)を設定します。 -c10を10秒間(デフォルトは '3600')に設定します。キャッシングを無効にするには、-c-1を使用します。

ここにドキュメントに記載されています:あなたがここにHTTPキャッシュディレクティブ上に読むことができますhttps://github.com/indexzero/http-server

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en

+0

これは、クライアント側の問題ではありません。キャッシュや "工場再起動"を無効にしても役立ちません。サーバーの再起動のみ。また、HTMLタグはキャッシュを取り消すことを指定し、何もしません。 – Slav

+1

@Slav HTMLタグは、間違ったレイヤーをキャッシングしてもキャンセルされません。シークレットモードを使用して問題が解決された場合、問題はクライアント側の問題です。元の質問とは異なる問題が発生している可能性があります。また、応答ヘッダーのキャッシュ制御ディレクティブはサーバー側のキャッシュ(正常に動作するプロキシの場合)にも影響します。 HTTPプロキシを使用している場合は、 'sendfile'をHTTPプロキシで無効にすることも考えてください。例えば、Nginxはsendfileを使用するため、VM上で多くの問題を引き起こす可能性があります。 – Brad

+0

おそらく異なる問題、はい。 https://github.com/indexzero/http-server/issues/149シークレットモードは役に立ちません。 – Slav

5

デベロッパーツールを開いて、Chromeの[ネットワーク]タブで[キャッシュを無効にする]チェックボックスをオンにしてみます。

関連する問題