這篇文章給大家介紹grunt和gulp在node.js中有什么不同,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
node.js中grunt和gulp的區別詳解
自nodeJS登上前端舞臺,自動化構建變得越來越流行。目前最流行的當屬grunt和gulp,這兩個光看名字挺像,功能也差不多,不過gulp能在grunt這位大哥如日中天的境況下開辟出自己的一片天地,有著她獨到的優點。
易用 Gulp相比Grunt更簡潔,而且遵循代碼優于配置策略,維護Gulp更像是寫代碼。
高效 Gulp相比Grunt更有設計感,核心設計基于Unix流的概念,通過管道連接,不需要寫中間文件。
高質量 Gulp的每個插件只完成一個功能,這也是Unix的設計原則之一,各個功能通過流進行整合并完成復雜的任務。例如:Grunt的imagemin插件不僅壓縮圖片,同時還包括緩存功能。他表示,在Gulp中,緩存是另一個插件,可以被別的插件使用,這樣就促進了插件的可重用性。目前官方列出的有673個插件。
易學 Gulp的核心API只有5個,掌握了5個API就學會了Gulp,之后便可以通過管道流組合自己想要的任務。
流 使用Grunt的I/O過程中會產生一些中間態的臨時文件,一些任務生成臨時文件,其它任務可能會基于臨時文件再做處理并生成最終的構建后文件。而使用Gulp的優勢就是利用流的方式進行文件的處理,通過管道將多個任務和操作連接起來,因此只有一次I/O的過程,流程更清晰,更純粹。
代碼優于配置 維護Gulp更像是寫代碼,而且Gulp遵循CommonJS規范,因此跟寫Node程序沒有差別。
一個簡單的Gulpfile.js配置格式
var gulp = require('gulp'); var jshint = require('gulp-jshint'); var concat = require('gulp-concat'); var rename = require('gulp-rename'); var uglify = require('gulp-uglify'); // Lint JS gulp.task('lint', function() { return gulp.src('src/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); // Concat & Minify JS gulp.task('minify', function(){ return gulp.src('src/*.js') .pipe(concat('all.js')) .pipe(gulp.dest('dist')) .pipe(rename('all.min.js')) .pipe(uglify()) .pipe(gulp.dest('dist')); }); // Watch Our Files gulp.task('watch', function() { gulp.watch('src/*.js', ['lint', 'minify']); }); // Default gulp.task('default', ['lint', 'minify', 'watch']);
關于grunt和gulp在node.js中有什么不同就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。