Top Banner
Gulp Automate and enhance your workflow 中正大學WEIC 技術分享 / 多奇數位AnnaSu
67

入門Gulp - 前端自動化開發工具

Jan 09, 2017

Download

Education

Anna Su
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 入門Gulp - 前端自動化開發工具

Gulp Automate and enhance your workflow�

中正大學WEIC 技術分享 / 多奇數位AnnaSu�

Page 2: 入門Gulp - 前端自動化開發工具

我是Anna Su

一個喜歡做網站的前端工程師�

Page 3: 入門Gulp - 前端自動化開發工具

大綱�

u Gulp 介紹�

u Gulp 執行流程�

u Gulp 任務怎麼寫�

u DEMO�

Page 4: 入門Gulp - 前端自動化開發工具

Gulp 介紹�

Page 5: 入門Gulp - 前端自動化開發工具

目錄� u Gulp 介紹�

u Gulp 是什麼?� u 使用 Gulp 的好處?� u 誰使用 Gulp?�

u Gulp 執行流程� u Gulp 任務怎麼寫� u DEMO�

Page 6: 入門Gulp - 前端自動化開發工具

Gulp 是什麼?�

u  前端自動化任務(Task)管理工具

u 兩歲生日快到了

Initial Release:2013/7月�

Page 7: 入門Gulp - 前端自動化開發工具

Gulp 是什麼?�

前端自動化任務管理工具

u 運用別人寫好的套件,來加速前端開發流程 u 透過Gulp,能將你的任務整合在一起� �

Page 8: 入門Gulp - 前端自動化開發工具

Gulp 是什麼?�

u 為什麼要使用前端自動化任務管理工具?

因為� 前端有做不完的工作…�

前端需要協助設計師,支援工程師�

Page 9: 入門Gulp - 前端自動化開發工具

圖片來源

前端工程師的角色

前端需要和設計師與工程師溝通�

Page 10: 入門Gulp - 前端自動化開發工具

前端工程師要學習的課題有很多…�

Page 11: 入門Gulp - 前端自動化開發工具

圖片來源�

Page 12: 入門Gulp - 前端自動化開發工具

讓自己成為更好的前端工程師

Anna Su� 為了前(錢)途,你必須不斷進化!

圖片來源�

But…

Page 13: 入門Gulp - 前端自動化開發工具

進 化

Page 14: 入門Gulp - 前端自動化開發工具

所以我們學習Gulp協助開發前端任務�

Page 15: 入門Gulp - 前端自動化開發工具

Gulp是前端自動化任務管理工具� �

圖片優化� 壓縮檔案�

合併檔案� 同步檔案� 發佈檔案�

圖片來源:鋼鐵人3�

Page 16: 入門Gulp - 前端自動化開發工具

我們應該知道Gulp是什麼了�

Page 17: 入門Gulp - 前端自動化開發工具

目錄� u Gulp 介紹�

u Gulp 是什麼?�

u 使用 Gulp 的好處?� u 誰使用 Gulp?�

u Gulp 執行流程� u Gulp 任務怎麼寫� u DEMO�

Page 18: 入門Gulp - 前端自動化開發工具

使用 Gulp 的好處?� u 透過Gulp,能將你的任務整合在一起� u 只要使用一行指令,就可以幫助你自動執行任務�

Page 19: 入門Gulp - 前端自動化開發工具

使用 Gulp 的好處?� 前端任務包括編譯檔案,壓縮檔案,檢查檔案,測試檔案,同步檔案,發佈檔案等等…� � �

目前有 21992 個Gulp插件,�

可以幫助執行前端任務!�

2015/05/17 數據�

Page 20: 入門Gulp - 前端自動化開發工具

2014/12 只有1369個plugin�

2015/5 有21992個plugin�

Page 21: 入門Gulp - 前端自動化開發工具

太棒了!!!� Gulp 這個工具 好像真的不錯!�

Page 22: 入門Gulp - 前端自動化開發工具

目錄� u Gulp 介紹�

u Gulp 是什麼?� u 使用 Gulp 的好處?�

u 誰使用 Gulp?� u Gulp 執行流程� u Gulp 任務怎麼寫� u DEMO�

Page 23: 入門Gulp - 前端自動化開發工具

誰使用 Gulp?�

Page 24: 入門Gulp - 前端自動化開發工具

去吧!就決定是你了

圖片來源:神奇寶貝�

ü  使用Gulp,加速前端開發。

ü  透過Gulp,整合前端任務。

ü  執行Gulp,只要一行指令。�

Page 25: 入門Gulp - 前端自動化開發工具

善用工具 就像是廚師 拿到一把厲害的菜刀!�

Page 26: 入門Gulp - 前端自動化開發工具
Page 27: 入門Gulp - 前端自動化開發工具

目錄� u Gulp 介紹� u Gulp 執行流程�

u 1. 安裝 Gulp� u 2. 編輯 Gulp � u 3. 執行 Gulp�

u Gulp 任務怎麼寫� u DEMO�

Page 28: 入門Gulp - 前端自動化開發工具

1. 安裝Gulp�

Page 29: 入門Gulp - 前端自動化開發工具

Gulp安裝- 環境設定�

+�

Page 30: 入門Gulp - 前端自動化開發工具

Gulp安裝- 全域gulp�

npm install -g gulp� Command line

Page 31: 入門Gulp - 前端自動化開發工具

Gulp安裝- 插件安裝�

npm install --save-dev gulp�

Command line

Page 32: 入門Gulp - 前端自動化開發工具

2. 編輯任務�

Page 33: 入門Gulp - 前端自動化開發工具

Gulp設定�

u  載入任務�

u  撰寫任務� �

編輯 gulpfile.js檔案

Page 34: 入門Gulp - 前端自動化開發工具

Gulp設定�

新增gulpfile檔案�

gulpfile.js�

根目錄

Page 35: 入門Gulp - 前端自動化開發工具

任務1: 壓縮CSS檔案�

u  (1)載入插件 – 使用require方法�

// 定義gulp變數並載入gulp模組�

Page 36: 入門Gulp - 前端自動化開發工具

任務1: 壓縮CSS檔案�

u  (2)撰寫任務 – gulp.task(name, fn) �

Page 37: 入門Gulp - 前端自動化開發工具

講個小秘訣:�

u  新增任務的方法– gulp.task(name, fn) �

gulp.task(‘任務名稱’, function () { });�

Page 38: 入門Gulp - 前端自動化開發工具

講個小秘訣:�

u  執行任務的來源 – gulp.src(glob) �

Page 39: 入門Gulp - 前端自動化開發工具

講個小秘訣:�

u  串接任務的方法 – pipe �

Page 40: 入門Gulp - 前端自動化開發工具

講個小秘訣:� 檔案的存檔路徑 – gulp.dest(path) �

Page 41: 入門Gulp - 前端自動化開發工具

壓縮CSS檔案的任務 設定完成!�

Page 42: 入門Gulp - 前端自動化開發工具

任務2: 合併JS檔案�

u  (1)載入插件 – 使用require方法�

Page 43: 入門Gulp - 前端自動化開發工具

任務2: 合併JS檔案�

u  (2)撰寫任務 – gulp.task(name, fn) �

Page 44: 入門Gulp - 前端自動化開發工具

合併JS檔案的任務 設定完成!�

Page 45: 入門Gulp - 前端自動化開發工具

任務3: 同步檔案�

u  (1)載入插件 – 使用require方法�

Page 46: 入門Gulp - 前端自動化開發工具

任務3: 同步檔案�

u  (2.1)撰寫任務 – gulp.task(name, fn) �

Page 47: 入門Gulp - 前端自動化開發工具

任務3: 同步檔案�

u  (2.2)撰寫任務 – gulp.watch(glob, fn) �

u  �

Page 48: 入門Gulp - 前端自動化開發工具

同步檔案的任務 設定完成!�

Page 49: 入門Gulp - 前端自動化開發工具

3. 執行 Gulp�

Page 50: 入門Gulp - 前端自動化開發工具

Gulp執行方法�

只要輸入�

gulp� 或者�

gulp 任務名稱�

Command line

Page 51: 入門Gulp - 前端自動化開發工具

DEMO

Page 52: 入門Gulp - 前端自動化開發工具

執行壓縮CSS檔案的任務 gulp minify-css�

Page 53: 入門Gulp - 前端自動化開發工具

執行合併JS檔案的任務 gulp js�

Page 54: 入門Gulp - 前端自動化開發工具

執行同步檔案的任務 gulp watch�

Page 55: 入門Gulp - 前端自動化開發工具

1. 安裝 Gulp 2. 編輯 Gulp 3. 執行 Gulp �

Page 56: 入門Gulp - 前端自動化開發工具

Gulp 任務小撇步� Gulp 任務怎麼寫?�

Page 57: 入門Gulp - 前端自動化開發工具

編輯Gulp 任務重點�

u  了解有哪些好用插件�

u  熟悉基本任務架構� �

Page 58: 入門Gulp - 前端自動化開發工具

Gulp API - 熟悉基本任務架構 �

gulp.task(name, fn) � gulp.watch(glob, fn) � gulp.src(glob) � gulp.dest(path) �

定義任務名稱� 運行指定的任務� 檔案的來源(路徑)� 檔案的存檔路徑�

Page 59: 入門Gulp - 前端自動化開發工具

Gulp 插件 - 了解有哪些好用插件 �

gulp-ruby-css� gulp-minify-css� gulp-rename� gulp-notify� gulp-jshint� gulp-concat�

編譯 sass� 縮小化(minify)CSS代碼� 重新命名� 更新通知� 檢測js代碼工具� 合併程式碼�

Page 60: 入門Gulp - 前端自動化開發工具

gulp-uglify� gulp-imagemin� del� watch� gulp-livereload� gulp-connect�

醜化(Uglify)壓縮代碼� 圖片壓縮� 重新命名� 即時監聽� 頁面自動更新� 結合 webserver 跟 livereload 的套件�

Gulp 插件 - 了解有哪些好用插件 �

Page 61: 入門Gulp - 前端自動化開發工具

Gulp API- gulp.task(name, fn)�

新增任務並指定順序:�

gulp.task('default', ['clean'], function() { gulp.start('styles', 'scripts', 'images'); });�

下列範例是先執行'clean'的任務,再執行'styles', 'scripts', 'images'這三個任務�

Page 62: 入門Gulp - 前端自動化開發工具

DEMO

Page 63: 入門Gulp - 前端自動化開發工具

前端技術與工具不斷更新 一開始有點痛苦…�

Page 64: 入門Gulp - 前端自動化開發工具

希望大家都可以找到自已的角色與任務�

Page 65: 入門Gulp - 前端自動化開發工具

你會變得更強!!

但 遇見你想要守護的夢想�

Page 66: 入門Gulp - 前端自動化開發工具

我是Anna Su

一個喜歡做網站的前端工程師�

Page 67: 入門Gulp - 前端自動化開發工具

分享結束,很高興認識大家 ,謝謝:)�