【发布时间】:2013-07-01 23:43:27
【问题描述】:
我正在构建一个单页应用程序,使用 Express 作为后端,使用 AngularJS 作为前端,但遇到了一些缓存问题。
我没有使用 express 视图,只使用 express.static 中间件提供文件。
我的静态文件位于public/app 或public/dist 中,具体取决于环境(dist 有缩小文件)。
app.use app.router
app.use express.static(cwd + '/public/' + publicFolder, maxAge: MAX_AGE)
当请求“/”时,app.router 会验证用户是否已登录,如果一切正常,则通过express.static 提供index.html(我只是在控制器中调用next())。如果用户没有登录,它会被重定向到login.html
我的问题是,如果我设置 maxAge,我的 index.html 文件会被缓存,并且对“/”的第一个请求不会通过 router。即使我没有登录,我也可以进入应用程序。
如果我将 maxAge 设置为 0,问题就会消失,但我想缓存我所有的 *.js 和 *.css 文件。
解决此类问题的正确方法是什么?开始使用视图?不同的express.static 挂载点?
【问题讨论】:
-
非常重要的问题需要更大声的声音。可以想象有多少人在这个话题上头破血流。谢谢你的解释。