hello gulp,使用gulp的第一天。

  昨天花了一天的時間,學習了一下gulp,今天整理一下,也分享給朋友們。
  首先固然是去gulp的官網逛一圈了:
  http://gulpjs.com/
  中文站地址:
  http://www.gulpjs.com.cn/
  裏邊有入門指南,以下:
  
  1. 全局安裝 gulp:javascript

$npm install --global gulp

  
  2. 在項目根目錄建立package.json文件,能夠手動建立,也能夠用這行命令自動化完成:
  php

$ cd <yourworkspacePath>
$ npm init

  3. 做爲項目的開發依賴(devDependencies)安裝css

$ npm install --save-dev gulp

  4. 在項目根目錄下建立一個名爲 gulpfile.js 的文件:html

var gulp = require('gulp');
gulp.task('default', function() {
  // 將你的默認的任務代碼放在這
  console.log("hello gulp!");
});

  5. 運行 gulpjava

$ gulp

  不過仍是要有一些細節須要注意
  1.在windows環境下命令固然就不要加那個$符號了。
  
  2.網上還有一種npm install –global gulp-cli這種全局安裝的方法,那麼gulp和gulp-cli有什麼不一樣呢?答案在這裏:
  http://stackoverflow.com/questions/35571679/what-does-gulp-cli-stands-forwebpack

  3.爲何要在全局裝一個gulp又要在本地項目裝一個gulp呢?
  由於方便版本控制。不一樣的項目可使用不一樣版本的gulp而不互相影響,就是這樣嘍。
  
  等等,等等,很容易走到這裏的我,仍是沒搞懂一件事,咱們爲何要用gulp。爲何不是grunt而是gulp。還有一些類似的功能的webpack,爲何是gulp!因而,我查到了這些:
  爲何是gulp不是grunt
  http://slides.com/contra/gulp#/
  gulp跟webpack又是啥關係:
  https://www.zhihu.com/question/37020798(感謝知乎)
  若是這些都不是你關心的問題,你多是想問:爲啥要用gulp或者grunt
  借用grunt中文網的一句話:自動化。對於須要反覆重複的任務,例如壓縮(minification)、編譯、單元測試、linting等,自動化工具能夠減輕你的勞動,簡化你的工做。
  
  好了,解決了這麼多個爲何之後,咱們繼續gulp的學習之旅。就在剛剛,咱們已經裝好了gulp,那麼咱們下面就開始咱們的工做吧。
  假如說,咱們須要給js文件進行壓縮這樣一件事,那麼咱們最原始的方式,能夠把代碼拷貝到壓縮工具裏,而後讓工具壓縮了,咱們再拷出來放到咱們的工程裏。若是用gulp的話呢,咱們就能夠不用這麼麻煩了,咱們只須要作這幾件事:
  
  1.安裝gulp的js壓縮插件
  npm install –save-dev gulp uglify
  (你們應該注意到了吧,–save-dev的意思就是把這個插件的安裝信息寫入到咱們的package.json文件裏的意思)
  
  2.在gulpfile.js裏配置任務web

var gulp = require('gulp'),
    uglify = require('gulp-uglify');
gulp.task('compile-js',function(){
    return gulp.src(<你要壓縮的js文件路徑>) .pipe(uglify()) .pipe(gulp.dest(<你要輸出的文件路徑>)); });

  寫好之後,運行 gulp compile-js
  這樣看是否是很簡單,哈哈。你可能以爲,這沒那麼簡單啊,還要寫代碼,好麻煩。那是由於你只壓縮了一個文件啊,若是讓你壓縮十個以上的文件,在壓縮工具裏拷貝來拷貝去都會弄錯吧,可是若是用gulp,工做量一點都沒有增長,仍是這一小段代碼就搞定。一樣的,css,html的壓縮,sass的解譯均可以在這裏完成,相比之前用多個工具軟件切來切去方便的就不是一點半點了。
  
  固然啦,這裏邊仍是有一些小坑的哦。首先是gulp的api你須要學習,要否則你怎麼知道怎麼建任務,怎麼制定源文件和目標文件呢。
  http://www.gulpjs.com.cn/docs/api/
  這個小栗子就完了,不過呢,還有一些經常使用的功能,對應一些經常使用的插件,來作介紹:
  http://www.cnblogs.com/2050/p/4198792.html
  上邊這篇文章的第四部分,插件部分講的很好哦。npm

  而後就是一些小技巧,好比說watch和changed的事:
  http://www.tuicool.com/articles/2miAvyu
  上邊這篇文章是一篇踩坑文,感謝朋友們的分享。
  
  還有一個小技巧,那就是如何刪掉某一個插件,就好比你某個插件裝壞了,或者你不須要了,你就這樣:
  npm uninstall –save <插件全名>
  好比咱們剛纔的gulp-uglify
  npm uninstall –save gulp-uglify
  感謝網友們的無私分享!json

相關文章
相關標籤/搜索