gulp是前端開發過程當中對代碼進行構建的工具,是自動化項目的構建利器;她不只能對網站資源進行優化,並且在開發過程當中不少重複的任務可以使用正確的工具自動完成;使用她,咱們不只能夠很愉快的編寫代碼,並且大大提升咱們的工做效率。gulp是基於Nodejs的自動任務運行器, 她能自動化地完成 javascript/coffee/sass/less/html/image/css 等文件的的測試、檢查、合併、壓縮、格式化、瀏覽器自動刷新、部署文件生成,並監聽文件在改動後重復指定的這些步驟。在實現上,她借鑑了Unix操做系統 的管道(pipe)思想,前一級的輸出,直接變成後一級的輸入,使得在操做上很是簡單。經過本文,咱們將學習如何使用Gulp來改變開發流程,從而使開發 更加快速高效。javascript
在學習前,先談談大體使用gulp的步驟,給讀者以初步的認識。首先固然是安裝nodejs,經過nodejs的npm全局安裝和項目安裝gulp,其次 在項目裏安裝所須要的gulp插件,而後新建gulp的配置文件gulpfile.js並寫好配置信息(定義gulp任務),最後經過命令提示符運行 gulp任務便可。css
安裝nodejs -> 全局安裝gulp -> 項目安裝gulp以及gulp插件 -> 配置gulpfile.js -> 運行任務。html
首先是nodejs的安裝 使用版本管理器 git。 經過 git bush 來進行版本管理操做。前端
能夠經過查看版本號來檢測是否安裝成功java
node -v (node package manager)nodejs的包管理器,用於node插件管理(包括安裝、卸載、管理依賴等))
node
npm -v
git
gulp --version
github
使用 npm 安裝插件: npm install <name> [-g] [--save-dev]
web
npm install gulp-less --save-devnpm
-g 全局安裝
配置package.json的配置信息 經過npm init命令。
--save 將保存配置信息至package.json (package.json 是 nodejs項目配置文件)
-dev 保存至package.json 的 devDependencies節點 不指定-dev 將保存至depengdencies節點。
選裝 cnpm
由於主要是由於npm是從國外的服務器下載 受網絡影響。 因此 使用淘寶鏡像。
安裝 cnpm npm install cnpm -g --registry=https://registry.npm.taobao.org
使用方法跟npm 徹底同樣。
全局安裝 gulp
cnpm install gulp -g
查看版本號 gulp --version
新建package.json文件 package.json是基於nodejs項目必不可少的配置文件,它是存放在項目根目錄的普通json文件;
$ npm init
package.json 是相似這樣的一個json文件(注意 在json內部是不能寫註釋的)
本地安裝 cnpm install gulp --save-dev
以示例 gulp-less爲例(編譯 less文件) 命令提示符執行 cnpm install gulp-less --save-dev
將會安裝在node_modules的 gulp-less 目錄下。 改目錄下有一個gulp-less的使用幫助文檔 README.md
PS: 全局安裝了gulp,項目也安裝了gulp,全局安裝gulp是爲了執行gulp任務,本地安裝gulp則是爲了調用gulp插件的功能
gulpfile.js是gulp項目的配置文件,是位於項目根目錄的普通js文件(其實將gulpfile.js放入其餘文件夾下亦可)。
命令提示符 gulp任務名稱
編譯less 命令提示符 執行 gulp testless
watch
做爲核心 API 出如今 gulp.js 裏了,
pipe
就是 stream
模塊裏負責傳遞流數據的方法而已,
return
則是把整個任務的 stream
對象返回出去,以便任務和任務能夠依次傳遞執行。