国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

node.js中grunt和gulp的區別詳解

2019-11-19 16:03:26
字體:
來源:轉載
供稿:網友

node.js中grunt和gulp的區別詳解

自nodeJS登上前端舞臺,自動化構建變得越來越流行。目前最流行的當屬grunt和gulp,這兩個光看名字挺像,功能也差不多,不過gulp能在grunt這位大哥如日中天的境況下開辟出自己的一片天地,有著她獨到的優點。

  1. 易用 Gulp相比Grunt更簡潔,而且遵循代碼優于配置策略,維護Gulp更像是寫代碼。
  2. 高效 Gulp相比Grunt更有設計感,核心設計基于Unix流的概念,通過管道連接,不需要寫中間文件。
  3. 高質量 Gulp的每個插件只完成一個功能,這也是Unix的設計原則之一,各個功能通過流進行整合并完成復雜的任務。例如:Grunt的imagemin插件不僅壓縮圖片,同時還包括緩存功能。他表示,在Gulp中,緩存是另一個插件,可以被別的插件使用,這樣就促進了插件的可重用性。目前官方列出的有673個插件。
  4. 易學 Gulp的核心API只有5個,掌握了5個API就學會了Gulp,之后便可以通過管道流組合自己想要的任務。
  5. 使用Grunt的I/O過程中會產生一些中間態的臨時文件,一些任務生成臨時文件,其它任務可能會基于臨時文件再做處理并生成最終的構建后文件。而使用Gulp的優勢就是利用流的方式進行文件的處理,通過管道將多個任務和操作連接起來,因此只有一次I/O的過程,流程更清晰,更純粹。
  6. 代碼優于配置 維護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']);

以上就是node.js中grunt和gulp的區別的講解,如果大家有疑問請留言或者到本站社區進行討論交流,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大同市| 常德市| 孙吴县| 张家界市| 泸州市| 县级市| 松阳县| 贡觉县| 高碑店市| 若羌县| 徐州市| 称多县| 太保市| 岢岚县| 祥云县| 武陟县| 福清市| 卢氏县| 嘉黎县| 买车| 高密市| 邢台市| 张家界市| 阿坝| 多伦县| 贵州省| 漾濞| 义乌市| 定远县| 香格里拉县| 太保市| 耒阳市| 佛坪县| 抚顺市| 千阳县| 陇南市| 东光县| 津南区| 改则县| 贡觉县| 兴和县|