SlideShare a Scribd company logo
SaCSS vol. 63 LT
!
動的なサイトの開発で
gulpとBrowserSyncを使ってみる
@masashi0923
村上 將志
1
Agenda
2
• 概要
• 構成
• 導入
• タスク定義
• DEMO
概要
3
• SaCSSでGruntやgulpの話が出た時は、静的
HTMLのページ制作のタスク自動化が主な話題
だったと思います。
• 動的なサイトの開発にも、工夫次第で応用できる
ことがわかってきました。
• 今回は、自分専用の開発サーバ(仮想環境)をた
てて、そこで動かしながら確認することを前提と
します。
• 作業PCでファイルを編集したら、自動的に開発
サーバにアップしてブラウザをリロードする手順
を調べてまとめてみました。
余談ですが。。。
4
• こんな疑問、ありますよね??
• なぜ仮想環境でサーバたてるの?
• MAMPとかXAMPPじゃダメなの?
余談ですが。。。
5
• 昔はXAMPP on Windowsで開発、Linuxサーバへアップ
してましたが、色々問題もありました。
• PHPのバージョンが違ってた

今ダウンロードできるXAMPPではPHP5.6。

CentOS6ではPHP5.3、CentOS7でもPHP5.4。
• ファイルのパーミッション問題考えてなかった
• Linux上でPHPのモジュールが足りてなかった
• Windowsで動いてもLinuxで動かない orz
• 直す手間かけるくらいなら仮想環境でサーバたてて動かせ
ば、最初の手間はかかるけど後で楽。
• 仮想環境でサーバたてる手順をメモっておけば、本番環境
の構築も基本そのままの手順で作れる(はず)。
余談ですが。。。
6


基本的にMAMPやXAMPPは使わずに仮想環境で
サーバたてて開発してます。
!
※仮想環境の構築は、@ma2ken_zawaさんが詳し
いです!
構成
7
構成
8
構成
9
構成
10
構成
11
構成
12
導入
13
• Windowsの場合も、Macの場合も、コマンドを使いま
す。(所謂、黒い画面)
• でも「黒い画面嫌いだから嫌だ」なんて言わないで!
• 多少コマンド間違えても、よほどのことしなければPC環
境ぶっ壊すようなことはない(はず)です。
• とりあえずやってみましょう!
導入
14
• インストーラ
• http://nodejs.org/download/
• 環境変数の設定でPath通す??
• node -v
• npm -v
npmインストールまで(Windows編)
▶すみません、手順覚えてないです。詳しくはググってください orz
導入
15
• インストーラ
• http://nodejs.org/download/
• 環境変数の設定でPath通す??
• node -v
• npm -v
npmインストールまで(Mac インストーラ編)
▶すみません、やったことないです。詳しくはググってください orz
導入
16
• Comman Line Toolインストール
• xcodeから
• Command Line Tool単体でダウンロード・インストー
ル

https://developer.apple.com/downloads/
index.action
npmインストールまで(Mac nodebrew編)
▶すみません、手順覚えてないです。詳しくはググってください orz
導入
17
• Homebrew
• ruby -e "$(curl -fsSL https://
raw.githubusercontent.com/Homebrew/install/
master/install)
• nodejs
• brew install node
npmインストールまで(Mac nodebrew編)
▶すみません、手順覚えてないです。詳しくはググってください orz
導入
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
導入
19
• mkdir ○○○○○○○○
• cd ○○○○○○○○
プロジェクトフォルダ作る
導入
20
• グローバル?ローカル?
• グローバル
• PC内全体で共有の場所にインストール
• 一度入れれば他の案件でも使い回せる
• バージョンは固定
• ローカル
• プロジェクトのフォルダ配下にインストール
• 都度パッケージを入れる必要がある
• プロジェクトごとに最新のパッケージを使える
npmパッケージインストール
導入
21
今回はローカルへインストール
npmパッケージインストール
導入
22
• package.json生成
• npm init
• gulpインストール
• npm install -g gulp

※gulp本体はグローバルにもインストール?
• npm install ̶save-dev gulp
• gulp -v
npmパッケージインストール
導入
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パッケージインストール
タスク定義
24
• gulp起動
• 最初にSassコンパイル、SFTPアップロード
• BrowserSync起動
• ファイルを監視
• *.php
• *.scss
• *.php更新時
• sftpアップロード
• ブラウザリロード
• *.scss更新時
• sassコンパイル
• sftpアップロード
• ブラウザリロード
タスクの仕様を決め、gulpfile.js作成
DEMO
25
• タスク定義
• ファイル編集
• ブラウザ操作の同期

More Related Content

What's hot

Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみたReactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
 
CLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトークCLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトーク
Jun-ichi Sakamoto
 
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!
Kazumi IWANAGA
 
LT within June school
LT within June schoolLT within June school
LT within June school
katosho1
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
Muyuu Fujita
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
Kenta Suzuki
 
Vagrant chef
Vagrant chefVagrant chef
Vagrant chef
Masahiro Iitsuka
 
Browser oh browser browser
Browser oh browser browserBrowser oh browser browser
Browser oh browser browser
Teppei Sato
 
Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介Seiko Kuchida
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
Yusuke Wada
 
Introduction of mruby & Webruby script example
Introduction of mruby & Webruby script exampleIntroduction of mruby & Webruby script example
Introduction of mruby & Webruby script example
kishima7
 
2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー
Tom Hayakawa
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
Junpei Matsuda
 
a-blog cms の基本 Ver.Kochi
a-blog cms の基本 Ver.Kochia-blog cms の基本 Ver.Kochi
a-blog cms の基本 Ver.Kochi
Kasumi Morita
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
 
グラフ解析で社長の脳内さらす!
グラフ解析で社長の脳内さらす!グラフ解析で社長の脳内さらす!
グラフ解析で社長の脳内さらす!
Kazuki Morozumi
 
早く家へ帰るための
Grunt入門
[+gulp紹介]
早く家へ帰るための
Grunt入門
[+gulp紹介]早く家へ帰るための
Grunt入門
[+gulp紹介]
早く家へ帰るための
Grunt入門
[+gulp紹介]
Masayuki Maekawa
 
ソフトウェア開発が好きだ
ソフトウェア開発が好きだソフトウェア開発が好きだ
ソフトウェア開発が好きだ
Koichi Ota
 

What's hot (20)

Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみたReactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
 
CLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトークCLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトーク
 
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!
 
LT within June school
LT within June schoolLT within June school
LT within June school
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
 
20150523
 20150523 20150523
20150523
 
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdaysData Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
 
Vagrant chef
Vagrant chefVagrant chef
Vagrant chef
 
Browser oh browser browser
Browser oh browser browserBrowser oh browser browser
Browser oh browser browser
 
Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
 
Introduction of mruby & Webruby script example
Introduction of mruby & Webruby script exampleIntroduction of mruby & Webruby script example
Introduction of mruby & Webruby script example
 
2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
 
a-blog cms の基本 Ver.Kochi
a-blog cms の基本 Ver.Kochia-blog cms の基本 Ver.Kochi
a-blog cms の基本 Ver.Kochi
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
グラフ解析で社長の脳内さらす!
グラフ解析で社長の脳内さらす!グラフ解析で社長の脳内さらす!
グラフ解析で社長の脳内さらす!
 
早く家へ帰るための
Grunt入門
[+gulp紹介]
早く家へ帰るための
Grunt入門
[+gulp紹介]早く家へ帰るための
Grunt入門
[+gulp紹介]
早く家へ帰るための
Grunt入門
[+gulp紹介]
 
ソフトウェア開発が好きだ
ソフトウェア開発が好きだソフトウェア開発が好きだ
ソフトウェア開発が好きだ
 

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

Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Masakazu Muraoka
 
a-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまでa-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまでgirigiribauer
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
Shin Takeuchi
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
 
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
Garyuten
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in OkazakiEtsushi Ishii
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLBYuki KAN
 
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
 
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
Kazumi IWANAGA
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
Kentaro Matsui
 
Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイントAzure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
Makoto Nishimura
 
WordCamp Yokohama 2010 Komori
WordCamp Yokohama 2010 KomoriWordCamp Yokohama 2010 Komori
WordCamp Yokohama 2010 Komori
masaaki komori
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
 
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディングDreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Mori Kazue
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?Masahiro Sano
 
Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例
Koichi Ota
 

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

Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
 
a-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまでa-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまで
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
公開から4年間使ってきたbaserCMSをそろそろ本気でdisってみる(OSC2014福岡)
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
 
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
 
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
 
Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイントAzure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
 
WordCamp Yokohama 2010 Komori
WordCamp Yokohama 2010 KomoriWordCamp Yokohama 2010 Komori
WordCamp Yokohama 2010 Komori
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディングDreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
Dreamweaver最新ワークフロー!PSDカンプからBootstrapページを世界最速コーディング
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
 
Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例
 
Zynga
ZyngaZynga
Zynga
 

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