【发布时间】:2013-12-23 11:55:12
【问题描述】:
我正在尝试在 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
我现在的问题是服务器需要响应压缩文件(当客户端接受编码时)而不是正常的,我找不到这样做的方法。也许政策是做这种事情的捷径?或者有没有其他方式可以使用 express 中间件?
如果有帮助,这是当前的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']
}
},
...
非常感谢。
【问题讨论】:
标签: node.js express gzip sails.js