7

node.jsにマニフェストキャッシュを追加する方法についての私の初期の質問に関連して、私の質問は、node.jsによって生成されたHTMLをキャッシュする方法に関連しています。php(index.php)のような物理ファイルがなかったため、このような種類のファイルをキャッシュすることはできません。

「存在しない」ページをキャッシュするにはどうすればよいですか?キャッシュに追加するだけ:

    CACHE MANIFEST

    CACHE:
    # plain files to cache
    /javascripts/client.js
    /stylesheets/style.css
    /stylesheets/style.styl
    # generated files like /
    /
    /content

この問題を解決する方法について何か考えはありますか?

ありがとう!

解決:

ルーターを追加して、正しいmimeタイプのcache.manifestファイルを返します。

app.get("/offline.manifest", function(req, res){
  res.header("Content-Type", "text/cache-manifest");
  res.end("CACHE MANIFEST");
});

stackoverflowで見つかりました

4

1 に答える 1

3

キャッシュマニフェストには、キャッシュする必要のあるURLがリストされています。これらのURLにアクセスするクライアントは、これらがApache上の静的なhtmlファイルなのか、node.jsなどによって生成された動的なコンテンツなのかを知りません。

あなたは基本的にクライアントに指示しています:

  1. 私のURLリストを読む
  2. 各URLに目を通します
  3. 応答をダウンロードして、安全な場所に保存します
  4. cache.manifestが変更されているかどうかをもう一度確認してから、手順1に進みます。

node.jsによって生成されたデータがURLを介して到達可能である限り、キャッシュマニフェストの行として定義することに問題はありません。

また、「どのURLがあるかをどうやって知るのか」が心配な場合は、node.js自体からプログラムでcache.manifestファイルをいつでも生成できますが、正しいコンテンツタイプを提供することを忘れないでください。text/cache-manifest

于 2012-02-01T07:51:08.580 に答える