我正在尝试在 Sails.js (Node) 应用程序中为我的资产启用 gzip 压缩。在生产环境中启动应用程序时,所有资产assets/linker/js
and assets/linker/styles
已成功连接、缩小、丑化(如 Gruntfile 中指定)。生成以下输出文件:
.tmp/
public/
min/
production.js
production.css
我还想添加 gzip 压缩,因此我安装了 grunt-contrib-compress 并将压缩任务添加到 Gruntfile 中。我可以通过成功压缩文件获得以下结果。
.tmp/
public/
min/
production.js
production.js.gz
production.css
production.css.gz
我的问题是现在服务器需要使用 gzip 压缩文件进行响应(当客户端接受编码时)而不是正常的编码,我找不到办法做到这一点。也许政策是做这样的事情的出路?或者还有另一种使用快速中间件的方法吗?
如果有帮助,这是当前的 sails-linker 任务,它将 javascript production.js 文件插入到标记中:
...
prodJs: {
options: {
startTag: '<!--SCRIPTS-->',
endTag: '<!--SCRIPTS END-->',
fileTmpl: '<script src="%s"></script>',
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']
}
},
...
提前谢谢了。