gulp与Grunt的区别
阅读:5227 次 编辑日期:2017-06-19
目录:
概述:
因为node的出现,自动化构建越来越流行,要说到前端自动化构建,那必须会想到Grunt和gulp,恰巧最近这两个我都用过,那么咱们说说这两个的区别。
简单来说,glup相对于Grunt:简单易学,使用简单 ,效率更高,插件功能更简单明了。下面我们具体说说。
今天咱们不讨论怎么用,如果你还是小白,请去官网学习:
易用性:
下面我们看两个实例,不需要仔细看内容,仅仅用来感受。我们先看一个Grunt官网给的 Gruntfile 实例:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
}
}
});
// 加载包含 "uglify" 任务的插件。
grunt.loadNpmTasks('grunt-contrib-uglify');
// 默认被执行的任务列表。
grunt.registerTask('default', ['uglify']);
};
我们再看gulp一个官网给的 gulpfile.js 实例:
var gulp = require('gulp');
gulp.task('default', function() {
// 将你的默认的任务代码放在这
});
我不去看具体做了什么,单单从直观感受来讲 ,gulp更符合程序员的编程习惯 ,而Grunt更像是在“配置”。
学习曲线:
总的来看gulp的学习曲线相对较低。
高效率:
使用Grunt的执行的过程中会产生一些临时文件,一些任务生成临时文件,其它任务可能会基于临时文件再做处理并生成最终的构建后文件。而使用Gulp的优势就是利用流的方式进行文件的处理,只会产生内存。
高质量:
我们在编写代码的时候要写高质量的代码,减少重复或者没有用的代码,在这个对比中也是很重的一环,Gulp的每个插件只完成一个功能,这也是Unix的设计原则之一,各个功能通过流进行整合并完成复杂的任务。例如:Grunt的imagemin插件不仅压缩图片,同时还包括缓存功能。