私は、バックエンド用にExpressを使用し、フロントエンド用にAngularJSを使用して単一ページアプリケーションを構築しています。Express - 特定のファイルに対して異なるmaxAgeを設定する
私はエクスプレスビューを使用していません。express.static
ミドルウェアのファイルのみを提供しています。
私の静的ファイルは、環境に応じてpublic/app
またはpublic/dist
です(distはファイルを縮小しました)。
app.use app.router
app.use express.static(cwd + '/public/' + publicFolder, maxAge: MAX_AGE)
「/」を要求する場合、ユーザーがログインしている場合、app.routerは検証し、すべてがOKであれば、その後index.html
は(私はちょうどコントローラでnext()
を呼び出す)express.static
を経由して提供しています。ユーザがログインしていない場合、それは私の問題は、私はMAXAGEを設定した場合、私のindex.html
ファイルがキャッシュされますと、最初の要求は、「/」router
を経由しないためにということですlogin.html
にリダイレクトされます。私はログインしていなくてもアプリケーションに入ることができます。
maxAgeを0に設定すると問題はなくなりますが、すべての* .jsと* .cssファイルをキャッシュします。
この種の問題に対する正しいアプローチは何ですか?ビューの使用を開始しますか?異なるexpress.static
マウントポイントですか?
非常に重要な問題。このトピックについて、どれくらい多くの人が頭を壊しているのか想像できます。良い説明をありがとう。 – zeliboba