Sails.js:压缩似乎不适用于json

时间:2015-01-22 09:48:22

标签: json compression gzip sails.js

我正在尝试在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')()行是因为我尝试使用错误的值并且崩溃了。

我重新启动了帆,但标题没有显示gzip压缩。

请求的标题显示我接受gzip压缩:

Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

我正在努力解决同样的问题,然后我浏览了Sails source code,发现压缩中间件仅在应用程序在生产环境中运行时才会被激活(即NODE_ENV ===生产)。

你在本地做这件事吗?我敢打赌,如果你将NODE_ENV设置为production

将会有效。

这应该至少适用于默认的压缩中间件,所以也许尝试删除你自己添加的那个。