前端構建大法 Gulp 系列 (二):為什么選擇gulp


系列目錄

在上一篇 前端構建大法 Gulp 系列 (一):為什么需要前端構建 中,我們說了為什么需要前端構建,簡單一句話,就是讓我們的工作更有效率。

相信熟悉前端的人對Grunt一定不陌生,實際上我自己之前的很多項目也是在用Grunt, Grunt的出現是前端開發者的福音,大大減少了前端之前很多手工工作的繁瑣以及我上一篇 前端構建大法 Gulp 系列 (一):為什么需要前端構建 提到的那些問題。

那么既然Grunt可以做到幾乎所有的事情,那么為什么我們需要Gulp呢?

Grunt與Gulp的區別

我們來看一下一般前端構建的流程, 一般情況下,我們是在腦子中是流的方式來想任務的。

二者處理流程的區別

Grunt 的方式

Gulp的方式

配置的簡潔程度

Grunt

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'
    }
  }
});

grunt.loadNpmTasks('grunt-contrib-uglify'); 
grunt.registerTask('default', ['uglify']);
};

Gulp

gulp.task('default',function(){    
return gulp
        .src("**/*.js")
        .pipe(jshint())
        .pipe(concat())
        .pipe(uglify())
        .pipe(gulp.dest('./build/'))        
})

所以從上面的一些代碼對比來看,Gulp明顯比Grunt要簡潔易用很多。

最后,總結一些 Grunt的一些問題

  • 配置過於復雜
  • 插件職責不單一 (就是不SRP)
  • 臨時文件目錄多
  • 性能慢 (因為臨時文件多,自然讀IO多)

下一篇我們將開始學習如何使用gulp來構建我們的前端。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM