Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LoopbackJS静态文件过期_Loopbackjs - Fatal编程技术网

LoopbackJS静态文件过期

LoopbackJS静态文件过期,loopbackjs,Loopbackjs,我正在使用最新的LoopbackJS,它可以从/client文件夹提供文件,我相信它使用的是express server static middleware.json中的默认设置是 "files": { "loopback#static": { "params": "$!../client" } }, 我有没有办法修改它,为所有it服务器设置一个相对较长的expires头 您可以在启动脚本中编写中间件来设置适当的到期头 然而,我倾向于将所有静态文件移出环回,

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

middleware.json中的默认设置是

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

我有没有办法修改它,为所有it服务器设置一个相对较长的expires头

您可以在启动脚本中编写中间件来设置适当的到期头


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

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

/server/server.js中
我添加了一个
使用
将到期头添加到除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();
    });

    ...

};

假设您在像nginx这样的web服务器后面运行环回,那么可以从web服务器配置中设置缓存控制,对吗?