我正在尝试对 sails.js 上的所有 JSON 输出激活 gzip 压缩。
我在 config/http.js 中添加了这个:
order: [
'startRequestTimer',
'cookieParser',
'session',
'myRequestLogger',
'bodyParser',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'router',
'www',
'favicon',
'404',
'500'
],
compress: require('compression')(),
我知道 compress: require('compression')()
行被调用是因为我尝试使用错误的值并且它崩溃了。
我重新启动了 sails,但 header 未显示 gzip 压缩。
请求的 header 显示我接受 gzip 压缩:
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate
感谢您的帮助!
最佳答案
我也在为同样的事情苦苦挣扎,然后我经历了风 sails source code并发现压缩中间件只有在应用程序在生产环境中运行时才会被激活(即 NODE_ENV === production)。
会不会是你在本地做的?我敢打赌,如果您将 NODE_ENV
设置为 production
,它将起作用。
这至少应该适用于默认的压缩中间件,所以也许可以尝试删除您自己添加的中间件。
关于json - sails .js : compression doesn’t seem to work on json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28085546/