Express 如何在Angular 4 Universal中添加缓存控制和ETag标头?

Express 如何在Angular 4 Universal中添加缓存控制和ETag标头?,express,caching,cache-control,etag,angular-universal,Express,Caching,Cache Control,Etag,Angular Universal,运行Google页面速度测试后,我得到了以下建议: 在HTTP头中设置静态文件的到期日期或最长期限 参考资料指示浏览器加载以前下载的内容 资源来自本地磁盘,而不是通过网络 server.ts 它建议我将缓存用于以下静态资源 (未指定有效期) (10分钟) (2小时) 那我该怎么做呢? 谢谢。这是一个明确的问题。为什么它被标记为angular?@estus bcoz我正试图在angular 4 Universal中这样做,你说的对,angular标记可以是removed@estus你知道怎么做吗

运行Google页面速度测试后,我得到了以下建议:

在HTTP头中设置静态文件的到期日期或最长期限 参考资料指示浏览器加载以前下载的内容 资源来自本地磁盘,而不是通过网络

server.ts

它建议我将缓存用于以下静态资源

(未指定有效期)

(10分钟)

(2小时)

那我该怎么做呢?
谢谢。

这是一个明确的问题。为什么它被标记为
angular
?@estus bcoz我正试图在angular 4 Universal中这样做,你说的对,
angular
标记可以是removed@estus你知道怎么做吗?是的,提到宇宙是必要的,它为问题提供了背景。可能的副本。
//import statements   

enableProdMode();
const app = express();
const port = Number(process.env.PORT || 8080);

app.engine('html', ngExpressEngine({
  bootstrap: ServerAppModule
}));

app.set('view engine', 'html');
app.set('views', 'src');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

import {
  getHomeApi, sendMailApi
} from './backend/api';

app.get('/api/homeData', getHomeApi);
app.post("/api/send", sendMailApi);


app.use(compression());

app.use('',express.static('dist'));

app.use('/assets',express.static('dist/assets'));

app.use('/static',express.static('dist/static', {
  index: false
}));

ROUTES.forEach(route => {
  app.get(route, (req, res) => {
    console.time(`GET: ${req.originalUrl}`);
    res.render('../dist/index', {
      req: req,
      res: res
    });
    console.timeEnd(`GET: ${req.originalUrl}`);
  });
});

app.listen(port,() => {
    console.log(`Listening at ${port}`);
});