今、話題のビルドツール gulp/gruntを徹底解剖!...

67
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Upload: -

Post on 15-Aug-2015

326 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

今、話題のビルドツール gulp/Gruntを徹底解剖!~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Page 2: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Tomoki Kubo株式会社まぼろし

マークアップエンジニア

ブログ: KOJIKA17

Page 3: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Lecture

Page 4: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Task Runner作業(タスク)を実行するためのアプリケーション

Page 5: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

The JavaScript Task Runner

Page 6: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Node.js

Page 7: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
Page 8: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

nodejs.org

Page 9: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

インストールする前に注意

Page 10: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

バージョン管理ツールを使いましょう

Mac- nodebrew

Windows- nodist

Page 11: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

バージョン管理ツールを使いましょう

Mac- nodebrew

Windows- nodist

今日は時間がない

Page 12: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Mac: インストーラーの削除

# ターミナルでlsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \| while read i; do sudo rm /usr/local/${i}donesudo rm -rf /usr/local/lib/node \ /usr/local/lib/node_modules \ /var/db/receipts/org.nodejs.*sudo rm -rf ~/.npm

Page 13: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

バージョン管理ツールを 使いましょう

Page 14: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

どんなことができるのか?

• ファイルを保存すると勝手にブラウザを更新

• 言語の構文チェック

• ファイルの結合

• 特定のフォルダ、ファイルの複製、削除

• メタ言語のコンパイル

• HTML, JS, CSSなどをminify

• CSS Spriteの自動生成

Page 15: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
Page 16: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
Page 17: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Grunt gulp

Page 18: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

PowerShell / ターミナルの使い方

# 現在位置の確認pwd

# ディレクトリのファイルの一覧表示ls

# カレントディレクトリの変更cd [パス | フォルダをドロップ]

Page 19: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

PowerShell / ターミナルの使い方

# フォルダの作成mkdir [フォルダ名]

# ファイルの作成echo > [ファイル名] | touch [ファイル名]

Page 20: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

Install

Page 21: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

npmNode Package Manager

Page 22: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

インストールする場所

• グローバル

• プロジェクト単位

Page 23: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

パッケージのインストール

# グローバルnpm install -g [パッケージ名]

# プロジェクト単位npm install [パッケージ名]

Page 24: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

gulpをグローバルにインストールする

# グローバルnpm install gulp -g

# Macでインストーラーで入れた人sudo npm install gulp -g

Page 25: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

package.jsonパッケージを管理するファイル

Page 26: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

package.jsonの生成

npm init

Page 27: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

プロジェクトにgulpをインストール

npm install gulp —save-dev

npm uninstall gulp --save-dev

Page 28: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

npmコマンドの省略

install = iuninstall = un--save-dev = -D

# 例npm un gulp —Dnpm i -D gulp-stylus browser-sync

Page 29: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

インストールできてたものが、 エラーになる場合npm cache clean

Page 30: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

ひな形をダウンロード

Page 31: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

goo.gl/MZ7roy

Page 32: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

パッケージをインストール

npm i

Page 33: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

package.jsonがあれば、 パッケージの共有がしやすい

Page 34: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

gulpfile.js

Page 35: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

パッケージの読み込み

Page 36: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク

Page 37: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク

1. タスク名

2. ファイル指定

3. pipe()

Page 38: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク - タスク名

gulp.task('タスク名', function() {

});

Page 39: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク - ファイル指定

gulp.task('タスク名', function() { gulp.src(‘タスクを行うファイル').pipe(gulp.dest(‘タスク後の出力先’));

});

Page 40: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク - ファイル指定

gulp.task('タスク名', function() { gulp.src(‘./asset/index.html’).pipe(gulp.dest(‘./public/’));

});

gulp.task('タスク名', function() { gulp.src(‘./asset/about.html’).pipe(gulp.dest(‘./public/’));

});

gulp.task('タスク名', function() { gulp.src(‘./asset/demo/index.html’).pipe(gulp.dest(‘./public/’));

});

Page 41: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク - ファイル指定

gulp.task('タスク名', function() { gulp.src(‘./asset/**/*.html’).pipe(gulp.dest(‘./public/’));

});

Page 42: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスク - pipe()

gulp.task('タスク名', function() { gulp.src(‘処理を行うファイル’) .pipe(‘処理’) .pipe(‘処理’) .pipe(‘処理’).pipe(gulp.dest(‘処理後の出力先’));

});

Page 43: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの監視

Page 44: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの監視

gulp.task('watch', function() {

});

Page 45: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの監視

gulp.task('watch', function() { gulp.watch( '監視対象のファイル', ‘タスク名’ );});

Page 46: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの監視

gulp.task('watch', function() { gulp.watch( ‘./asset/**/*.html’, ‘build:html’ );});

Page 47: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの監視

gulp.task('watch', function() { gulp.watch( [‘assets/stylus/*.styl’, ‘assets/sprite/*.png’] [‘build:sprite’, ’build:css’] );});

Page 48: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクをまとめて実行

Page 49: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの複数実行

gulp.task('default', [‘build:html', 'build:css', 'bs', 'watch']);

gulp.task('build', [‘build:css’, ‘build:js’]);

Page 50: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

タスクの実行

Page 51: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

ターミナルからタスクの実行

gulp タスク名gulp build:html

# デフォルトの場合gulp

Page 52: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

リリースタスクを増やそう

Page 53: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

CSSをMinifyする

Page 54: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

npmjs.com

Page 55: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

[gulp stylus]

Page 56: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

HTMLをMinifyする

Page 57: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

リリース タスク

gulp.task('release', [‘HTMLのリリースタスク名’, ’CSSのリリースタスク’]);

Page 58: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

gulpのプラグインは どんなものを使えばいいか?

Page 59: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

gulp おすすめ プラグイン

Page 60: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

記事の日付を確認しよう

Page 61: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
Page 62: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

npm scripts

Page 63: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

今日学んだこと

Page 64: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

今日学んだこと

• ターミナル?

• gulpの書き方?

• プラグインがあること?

Page 65: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

自動化のツールの使い方を学んだ

• 作業を効率化する道具

• 品質の担保

• 繰り返し作業を機械と分業化できる

Page 66: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

手段が目的にならないように 気をつけましょう

Page 67: 今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~

ありがとうございました