5

バックエンドに Express を使用し、フロントエンドに AngularJS を使用してシングル ページ アプリケーションを構築していますが、キャッシュに問題があります。

私はエクスプレスビューを使用しておらず、express.staticミドルウェアを含むファイルのみを提供しています。

私の静的ファイルは、環境内public/appまたはpublic/dist環境に依存しています (dist には縮小されたファイルがあります)。

app.use app.router
app.use express.static(cwd + '/public/' + publicFolder, maxAge: MAX_AGE)

'/' を要求すると、app.router はユーザーがログインしているかどうかを確認し、すべて問題なければ(コントローラーを呼び出すだけです)index.html経由でサービスを提供します。ユーザーがログインしていない場合、リダイレクトされますexpress.staticnext()login.html

私の問題は、maxAge を設定すると、index.htmlファイルがキャッシュされ、「/」への最初の要求が通過しないことrouterです。ログインしていなくてもアプリに入ることができます。

maxAge を 0 に設定すると問題は解決しますが、すべての *.js ファイルと *.css ファイルをキャッシュしたいと考えています。

この種の問題に対する正しいアプローチは何ですか?ビューの使用を開始しますか? express.staticマウントポイントが違う?

4

1 に答える 1