バックエンドに 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.static
next()
login.html
私の問題は、maxAge を設定すると、index.html
ファイルがキャッシュされ、「/」への最初の要求が通過しないことrouter
です。ログインしていなくてもアプリに入ることができます。
maxAge を 0 に設定すると問題は解決しますが、すべての *.js ファイルと *.css ファイルをキャッシュしたいと考えています。
この種の問題に対する正しいアプローチは何ですか?ビューの使用を開始しますか? express.static
マウントポイントが違う?