如何使用grunt-contrib-uglify来gzip js文件呢?

时间:2013-10-25 16:01:09

标签: javascript gruntjs grunt-contrib-uglify

我正在执行一项艰巨的任务:

uglify: {
    options: {
        report: 'gzip'
    },
    all: {
        expand: true,
        flatten: true,
        cwd: 'js/',
        src: ['*.js', '!*.min.js'],
        dest: 'js/min',
        ext: '.min.js'
    }

}

在运行报告选项

时,文件被压缩到一个文件中
options: {
    report: 'gzip'
}

我看到gzip压缩时文件会小得多,但输出文件没有gzip压缩,根据“缩小”报告的大小。

所以问题是,如何配置uglify来gzip文件呢。或者这是一项不同任务的任务?

3 个答案:

答案 0 :(得分:9)

gzipping是一种Web服务器用于打包静态资产的技术,有助于将传输数据的大小减少一半或更多。 gzip报告只是让你知道将保存的技术,但显然无法将文件压缩到正常缩小之外。如果您有兴趣,这篇文章还有一些进一步的信息:

http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/

就个人而言,我会关闭gzip报告,因为它表现不佳;也许只有当你准备好部署时才保存它。

答案 1 :(得分:2)

如果您在S3上托管文件/资产,则需要手动gzip文件并将响应标头“encode-type”设置为“gzip”。因此,我需要此功能以及同步文件或至少部署文件的繁琐任务。

答案 2 :(得分:1)

您可以将grunt-contrib-compress添加到工作流程中,并将您的网络服务器配置为使用gzip压缩版本。 在nginx上将启用gzip_static