expression静态中间件 – 它是否每次从客户端下载磁盘时读取文件?

我使用快速static中间件来服务器静态文件。 我也使用compress中间件。 我的问题是,如果快递从磁盘读取文件,每当它被返回(下载)到客户端压缩它? 或者,也许它caching在内存中的压缩文件?

是的,静态中间件将执行磁盘I / O。

在内部,它并没有做太多的工作,把所有的工作委托给发送依赖项,这是一个专门用于处理请求的包,这个请求可以parsing从某个根节点到磁盘的响应。

它不会在内存中caching任何内容, 但是它能够返回正确的caching头信息,并且响应HTTP 304响应,如果你想在内存之上构build一些东西来存储响应并从内存中提供响应。

这是尽可能接近完美的大多数Node.js文件服务器,但请注意您的特定要求。 还有其他HTTP服务器,如Varnish或Nginx,更适合高级需求。