diff --git a/server/config/http.js b/server/config/http.js index 42d7a9cc..d5ce9787 100644 --- a/server/config/http.js +++ b/server/config/http.js @@ -9,6 +9,9 @@ * https://sailsjs.com/config/http */ +const serveStatic = require('serve-static'); +const sails = require('sails'); + module.exports.http = { /** * @@ -50,5 +53,14 @@ module.exports.http = { // })(), poweredBy: false, + + www(req, res, next) { + const middleware = serveStatic(sails.config.paths.public, { + maxAge: sails.config.http.cache, + immutable: req.url.startsWith('/assets/'), + }); + + return middleware(req, res, next); + }, }, }; diff --git a/server/config/routes.js b/server/config/routes.js index 26ee3bf3..0392166e 100644 --- a/server/config/routes.js +++ b/server/config/routes.js @@ -47,7 +47,11 @@ function staticDirServer(prefix, dirFn) { // Custom config properties are not available when the routes config is // loaded, so resolve the target value just before serving the request. const dir = dirFn(); - const staticServer = serveStatic(dir, { index: false }); + const staticServer = serveStatic(dir, { + index: false, + maxAge: sails.config.http.cache, + immutable: true, + }); const reqPath = req.url; if (reqPath.startsWith(prefix)) {