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();
});
...
};
我正在使用最新的 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();
});
...
};