我试图在Sails.js(Node)应用程序中为我的资产启用gzip压缩.当启动在生产环境中的应用,在所有的资产assets/linker/js
和assets/linker/styles
被连接,精缩,成功变丑(如Gruntfile指定).生成以下输出文件:
.tmp/ public/ min/ production.js production.css
我想添加gzip压缩,因此我安装了grunt-contrib-compress并将压缩任务添加到Gruntfile.我可以通过成功的gzip压缩文件获得以下结果.
.tmp/ public/ min/ production.js production.js.gz production.css production.css.gz
我的问题是,服务器现在需要使用gzip压缩文件(当客户端接受编码时)而不是正常文件响应,我找不到这样做的方法.也许政策是做这样的事情的风帆?或者是否有另一种使用快速中间件的方法?
如果有帮助,这是当前的sails-linker任务,它将javascript production.js文件插入到标记中:
... prodJs: { options: { startTag: '', endTag: '', fileTmpl: '', appRoot: '.tmp/public' }, files: { '.tmp/public/**/*.html': ['.tmp/public/min/production.js'], 'views/**/*.html': ['.tmp/public/min/production.js'], 'views/**/*.ejs': ['.tmp/public/min/production.js'] } }, ...
提前谢谢了.
我建议你阅读这个github问题(默认情况下在Sails.js中启用Express压缩),以及此stackoverflow应答(为param验证添加快速中间件)以获取更多详细信息和sailsjs框架方式.
希望这有帮助,如果遇到一些困难,请不要犹豫,询问更多细节.