###
gruntgulp 其实是很像的。

  • loadNpmTasks(‘grunt-‘) === requier(‘gulp-‘) //载入处理插件
  • registerTask === task //创建任务
  • grunt [taskName] ==== gulp [taskName] //执行某个任务

区别:

  • 对于要处理的文件较多较大时, gulp 基于流 速度会快不少
  • gulp简单的.src->.pipe->.dest,任务流程很清晰, 而grunt是基于配置,然后创建任务,配置与任务分离,如果配置较多时,可读性就不如gulp task了

为什么gulp会比grunt更受欢迎?

  • gulp 速度更快,这个可能是更多的情况,毕竟项目一般引入的外部资源都不少,如果一点改动就执行好几秒,体验是很差的,但可以解决,对dev开发环境进行配置,资源文件单独处理,生产环境再打包压缩。
  • gulp 主要API就5个 .src .dest .pipe .task .watch, 再配合官网的指南,上手难度低,而且任务可读性会更好

两者一对比, gulp 的学习成本低、易上手的优势就更大了。