grunt-contrib-compress v0.6.0 压缩(打包)文件和文件夹
新手上路
本插件要求 Grunt ~0.4.0
(即0.4.x)版本。
如果你没有使用过 Grunt,请先阅读 新手上路,这篇文章会讲解如何创建 Gruntfile,如何安装 Grunt 插件。如果你已经熟悉了 Grunt 的流程,可以通过下面的命令安装本插件:
npm install grunt-contrib-compress --save-dev
安装完插件后就可以在Gruntfile中通过下面的JS语句启用插件了:
grunt.loadNpmTasks('grunt-contrib-compress');
本插件是为Grunt 0.4.x设计的,如果你还在用v0.3.x的话,强烈建议你 升级。如果你因为某些原因无法升级的话,请使用 v0.3.2。
压缩任务 compress
使用 grunt compress
命令运行本任务
任务的目标(target)、文件和选项的详细说明可参见 Grunt文档。
本任务使用了以下Node库: archiver (for zip/tar) zlib (for gzip).
选项 options
archive
类型: String
or Function
适用模式: zip
tar
该参数用于定义压缩文档的输出位置。每个目标只能设置一个输出文件。
如果类型是函数,则该函数必须返回一个字符串。
这个选项只适用于多文件压缩到一个文件的情况,比如压缩为zip或者tar文件。如果你要使用gzip压缩的话,请使用Grunt中标准的“源文件/目标文件”(src/dest)指定。
mode
类型: String
用于定义使用哪种压缩模式,目前支持gzip
, deflate
, deflateRaw
, tar
, tgz
(tar gzip) 和 zip
.
对每一对源文件/目标文件,都会自动拉探测压缩模式,但也可以手动覆盖。
level
类型: Integer
适用模式: zip
默认值: 1
设置压缩级别。
目前gzip压缩的级别不可用,因为node的zlib库中缺少相应的支持。
pretty
类型: Boolean
默认值: false
输出记录时对文件大小进行格式化。
使用示例
// 创建一个zip文件
compress: {
main: {
options: {
archive: 'archive.zip'
},
files: [
{src: ['path/*'], dest: 'internal_folder/', filter: 'isFile'}, // 包含路径中的文件
{src: ['path/**'], dest: 'internal_folder2/'}, // 包含路径中的文件和子目录
{expand: true, cwd: 'path/', src: ['**'], dest: 'internal_folder3/'}, // 使所有源文件相对于cwd
{flatten: true, src: ['path/**'], dest: 'internal_folder4/', filter: 'isFile'} // 将结果扁平化,全部放在同一级目录
]
}
}
// 一对一gzip压缩
compress: {
main: {
options: {
mode: 'gzip'
},
expand: true,
cwd: 'assets/',
src: ['**/*'],
dest: 'public/'
}
}
// 扩展输出文件
compress: {
main: {
options: {
mode: 'gzip'
},
files: [
// src/目录中的每个文件都会被以.gz.js后缀输出到dist/目录中
{expand: true, src: ['src/*.js'], dest: 'dist/', ext: '.gz.js'}
]
}
}
// 使用函数来返回输出文件名
compress: {
main: {
options: {
archive: function () {
// git.tag的值由其它的任务指定
return git.tag + '.zip'
}
},
files: [
{expand: true, src: ['src/*.js'], dest: 'dist/'}
]
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 天猫超市商品主图视频怎么批量保存的技巧
下一篇: encode / decode 编解码
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论