LoopbackJS静态文件过期

问题描述:

我正在使用最新的LoopbackJS,它可以从/client文件夹中提供文件,我相信它使用express server-static。LoopbackJS静态文件过期

在middleware.json的默认设置是

"files": { 
    "loopback#static": { 
     "params": "$!../client" 
    } 
}, 

有没有什么办法可以修改这个设置比较长的Expires头的一切它的服务器?

+0

假设你正在运行环回像nginx的Web服务器的背后,高速缓存控制可以从网络服务器配置进行设置,对不对? – Sterex

您可以在引导脚本中编写中间件以设置适当的过期标头。

但是,我倾向于将所有静态文件移出环回,并通过像Nginx这样的Web服务器提供它们(除非这些静态文件中的任何一个需要授权才能访问)。我在Nginx配置中设置了所需的标题。

要给@ abskmj的答案添加一个示例,这里是我使用的解决方案。

里面/server/server.js我添加了一个use到期,头添加到以外的所有API输出

app.start = function() { 

    ... 

    // cache everything for at least 4h 
    app.use(/^\/(?!api|anyother).*$/, function(req, res, next) { 
     res.setHeader('Cache-Control', 'private, max-age=24000'); 
     next(); 
    }); 

    ... 

};