LoopbackJS 静态文件过期

LoopbackJS static files expires

我正在使用最新的 LoopbackJS,它可以从 /client 文件夹提供文件,我相信它使用 express server-static.

middleware.json 中的默认设置是

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

有什么方法可以修改它,为它所服务的所有内容设置相对较长的过期时间 header?

您可以在启动脚本中编写一个中间件来设置适当的到期时间headers。

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

在@abskmj 的回答中添加示例是我采用的解决方案。

/server/server.js 中,我添加了一个 use 以将过期 headers 添加到除 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();
    });

    ...

};