sacss vol.63 動的なサイトの開発でgulpとbrowsersyncを使ってみる

25
SaCSS vol. 63 LT 動的なサイトの開発で gulpとBrowserSyncを使ってみる @masashi0923 村上 將志 1

Upload: masashi-murakami

Post on 22-Jul-2015

147 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

SaCSS vol. 63 LT !

動的なサイトの開発で gulpとBrowserSyncを使ってみる

@masashi0923 村上 將志

1

Page 2: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

Agenda

2

• 概要

• 構成

• 導入

• タスク定義

• DEMO

Page 3: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

概要

3

• SaCSSでGruntやgulpの話が出た時は、静的HTMLのページ制作のタスク自動化が主な話題だったと思います。

• 動的なサイトの開発にも、工夫次第で応用できることがわかってきました。

• 今回は、自分専用の開発サーバ(仮想環境)をたてて、そこで動かしながら確認することを前提とします。

• 作業PCでファイルを編集したら、自動的に開発サーバにアップしてブラウザをリロードする手順を調べてまとめてみました。

Page 4: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

余談ですが。。。

4

• こんな疑問、ありますよね?? • なぜ仮想環境でサーバたてるの? • MAMPとかXAMPPじゃダメなの?

Page 5: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

余談ですが。。。

5

• 昔はXAMPP on Windowsで開発、Linuxサーバへアップしてましたが、色々問題もありました。 • PHPのバージョンが違ってた今ダウンロードできるXAMPPではPHP5.6。CentOS6ではPHP5.3、CentOS7でもPHP5.4。

• ファイルのパーミッション問題考えてなかった • Linux上でPHPのモジュールが足りてなかった

• Windowsで動いてもLinuxで動かない orz • 直す手間かけるくらいなら仮想環境でサーバたてて動かせば、最初の手間はかかるけど後で楽。

• 仮想環境でサーバたてる手順をメモっておけば、本番環境の構築も基本そのままの手順で作れる(はず)。

Page 6: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

余談ですが。。。

6

∴基本的にMAMPやXAMPPは使わずに仮想環境でサーバたてて開発してます。 !

※仮想環境の構築は、@ma2ken_zawaさんが詳しいです!

Page 7: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

構成

7

Page 8: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

構成

8

Page 9: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

構成

9

Page 10: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

構成

10

Page 11: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

構成

11

Page 12: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

構成

12

Page 13: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

13

• Windowsの場合も、Macの場合も、コマンドを使います。(所謂、黒い画面)

• でも「黒い画面嫌いだから嫌だ」なんて言わないで!

• 多少コマンド間違えても、よほどのことしなければPC環境ぶっ壊すようなことはない(はず)です。

• とりあえずやってみましょう!

Page 14: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

14

• インストーラ

• http://nodejs.org/download/

• 環境変数の設定でPath通す??

• node -v

• npm -v

npmインストールまで(Windows編) ▶すみません、手順覚えてないです。詳しくはググってください orz

Page 15: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

15

• インストーラ

• http://nodejs.org/download/

• 環境変数の設定でPath通す??

• node -v

• npm -v

npmインストールまで(Mac インストーラ編) ▶すみません、やったことないです。詳しくはググってください orz

Page 16: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

16

• Comman Line Toolインストール

• xcodeから

• Command Line Tool単体でダウンロード・インストールhttps://developer.apple.com/downloads/index.action

npmインストールまで(Mac nodebrew編) ▶すみません、手順覚えてないです。詳しくはググってください orz

Page 17: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

17

• Homebrew

• ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)“

• nodejs

• brew install node

npmインストールまで(Mac nodebrew編) ▶すみません、手順覚えてないです。詳しくはググってください orz

Page 18: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

18

• nodebrew

• brew install nodebrew

• nodebrew install v0.10

• nodebrew use v0.10

• echo export PATH=$HOME/.nodebrew/current/bin:$PATH >> ~/.bash_profile

• node -v

• npm -v

npmインストールまで(Mac nodebrew編) ▶すみません、手順覚えてないです。詳しくはググってください orz

Page 19: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

19

• mkdir ○○○○○○○○

• cd ○○○○○○○○

プロジェクトフォルダ作る

Page 20: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

20

• グローバル?ローカル? • グローバル • PC内全体で共有の場所にインストール • 一度入れれば他の案件でも使い回せる • バージョンは固定

• ローカル • プロジェクトのフォルダ配下にインストール • 都度パッケージを入れる必要がある • プロジェクトごとに最新のパッケージを使える

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

Page 21: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

21

今回はローカルへインストールnpmパッケージインストール

Page 22: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

22

• package.json生成

• npm init

• gulpインストール

• npm install -g gulp※gulp本体はグローバルにもインストール?

• npm install ̶save-dev gulp

• gulp -v

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

Page 23: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

導入

23

• Sassコンパイル : gulp-sass

• npm install ̶save-dev gulp-sass

• サーバへアップロード : gulp-sftp

• npm install ̶save-dev gulp-sftp

• ブラウザの同期、リロード : browser-sync

• npm install ̶save-dev browser-sync

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

Page 24: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

タスク定義

24

• gulp起動 • 最初にSassコンパイル、SFTPアップロード • BrowserSync起動 • ファイルを監視 • *.php • *.scss

• *.php更新時 • sftpアップロード • ブラウザリロード

• *.scss更新時 • sassコンパイル • sftpアップロード • ブラウザリロード

タスクの仕様を決め、gulpfile.js作成

Page 25: SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる

DEMO

25

• タスク定義

• ファイル編集

• ブラウザ操作の同期