這篇文章給大家介紹grunt和gulp在node.js中有什么不同,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、平果網(wǎng)絡(luò)推廣、小程序定制開發(fā)、平果網(wǎng)絡(luò)營(yíng)銷、平果企業(yè)策劃、平果品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供平果建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
node.js中g(shù)runt和gulp的區(qū)別詳解
自nodeJS登上前端舞臺(tái),自動(dòng)化構(gòu)建變得越來越流行。目前最流行的當(dāng)屬grunt和gulp,這兩個(gè)光看名字挺像,功能也差不多,不過gulp能在grunt這位大哥如日中天的境況下開辟出自己的一片天地,有著她獨(dú)到的優(yōu)點(diǎn)。
易用Gulp相比Grunt更簡(jiǎn)潔,而且遵循代碼優(yōu)于配置策略,維護(hù)Gulp更像是寫代碼。
高效Gulp相比Grunt更有設(shè)計(jì)感,核心設(shè)計(jì)基于Unix流的概念,通過管道連接,不需要寫中間文件。
高質(zhì)量Gulp的每個(gè)插件只完成一個(gè)功能,這也是Unix的設(shè)計(jì)原則之一,各個(gè)功能通過流進(jìn)行整合并完成復(fù)雜的任務(wù)。例如:Grunt的imagemin插件不僅壓縮圖片,同時(shí)還包括緩存功能。他表示,在Gulp中,緩存是另一個(gè)插件,可以被別的插件使用,這樣就促進(jìn)了插件的可重用性。目前官方列出的有673個(gè)插件。
易學(xué)Gulp的核心API只有5個(gè),掌握了5個(gè)API就學(xué)會(huì)了Gulp,之后便可以通過管道流組合自己想要的任務(wù)。
流使用Grunt的I/O過程中會(huì)產(chǎn)生一些中間態(tài)的臨時(shí)文件,一些任務(wù)生成臨時(shí)文件,其它任務(wù)可能會(huì)基于臨時(shí)文件再做處理并生成最終的構(gòu)建后文件。而使用Gulp的優(yōu)勢(shì)就是利用流的方式進(jìn)行文件的處理,通過管道將多個(gè)任務(wù)和操作連接起來,因此只有一次I/O的過程,流程更清晰,更純粹。
代碼優(yōu)于配置維護(hù)Gulp更像是寫代碼,而且Gulp遵循CommonJS規(guī)范,因此跟寫Node程序沒有差別。
一個(gè)簡(jiǎn)單的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']);
關(guān)于grunt和gulp在node.js中有什么不同就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。