SlideShare a Scribd company logo
Grunt.jsを使った
Expressの開発環境構築
Node.js勉強会 in 大阪
2013.5.25              
自己紹介
• かみやん (Twitter@kamiyam)
• Meteorworks エンジニア
• Webサービスつくってます
http://nantokaworks.com
grunt とはなにか?
Grunt.js
JavaScript(Node.js)製タスクランナー
Grunt.jsは(面倒な)タスクを
代わりに代行してくれるツール
山積みのタスk・・・
• CoffeeScriptのコンパイル
• Sassのコンパイル
• CSSファイルのコードミニファイ化・結合
• 画像ファイルの圧縮
• 画面の表示確認
キーワード
• grunt: 起動など(gruntコマンド)
• Gruntfile.js: gruntのタスク設定ファイル
キーワード
• jQuery: JavaScriptのライブラリ
• package.json: パッケージ構成ファイル
package.json
一緒に利用するモジュール情報などを
記述する設定ファイル
Node.jsで作成するすべての成果物は
一つのパッケージモジュールとして扱うため、
必須ではないがかならず添えておくようにする。
インストール
$ npm install -g grunt-cli
※ gruntコマンドが利用可能となる。
環境構築
$ vim Gruntfile.js
Gruntfile.js 設定例
module.exports = function(grunt) {
grunt.initConfig({
xxxxxx: {
	

 //.........
}
});
grunt.loadNpmTasks('grunt-contrib-xxxxxx');
grunt.registerTask('default', ['xxxxxx']);
};
プロジェクトの内容、規模によってつ
かうタスク(gruntのモジュール)を追
加していく。
jQueryのようにプラグインを追加す
るイメージ
open & watch & LiveReload タスク
open & watch & LiveReload タスク
1,ブラウザを開いて
open & watch & LiveReload タスク
1,ブラウザを開いて
2,ファイルの変更(を監視)して
open & watch & LiveReload タスク
1,ブラウザを開いて
2,ファイルの変更(を監視)して
3,ブラウザをリロードして
open & watch & LiveReload タスク
1,ブラウザを開いて
2,ファイルの変更(を監視)して
3,ブラウザをリロードして
確認する!!
open & watch & LiveReload タスク
1,ブラウザを開いて
2,ファイルの変更(を監視)して
3,ブラウザをリロードして
超めんどくさいですよね。確認する!!
デモ
ダウンロード
https://gist.github.com/kamiyam/4996713
$ npm install
$ grunt
デモ
実行
ちなみに似たようなことをする仲間に
このようなおっさんがいます(ry!
gruntもNode.jsのサーバを起動しています。
ここまではフロントエンド側で完結する話。
Grunt.jsとExpressの連携
どのようにして
gruntとExpressを連携させるのか
grunt
Grunt.jsで起動したフロントサーバと
Expressのバックエンドサーバの連携
grunt
Grunt.jsで起動したフロントサーバと
Expressのバックエンドサーバの連携
grunt
Grunt.jsで起動したフロントサーバと
Expressのバックエンドサーバの連携
Proxy
リバースプロキシモジュールを使う(単体)
■ grunt-connect-proxy
https://github.com/drewzboto/grunt-
connect-proxy
※ 設定などの細かい内容はサイトを参照
テンプレート生成モジュールgrunt-init を使う
■ grunt-init-express
https://github.com/kamiyam/grunt-init-
express
フォルダ構成など各個人の癖もあり
これが正解というものがない
例えば、
• Viewファイルだけに限定する or しない
• サーバサイドのjsファイルのwatch、
LiveReloadを許可するのか
(supervisorのリロード時間とgruntのリ
ロード時間が合わない・・・などなど)
使いこなせれば、バックエンドの言語を
問わず(例えば、PHPなどWordPressで
も) 同じことが出来る。
Watch するファイルが変わるだけ。
grunt
Proxy
まとめ
• Grunt.js はNode.jsを用いた
タスクランナー(便利屋)
• リバースプロキシモジュールを使えば
バックエンドの種類は問わない
ご静聴ありがとうございました

More Related Content

PDF
React VR ことはじめ
PDF
Re-frame and A-Frame
PDF
Node js 入門
PPTX
Try micronaut
PDF
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
PPT
Node.js で Web アプリ開発
PPTX
Grunt入門
PPT
[大図解]ピグライフはこう動いている
React VR ことはじめ
Re-frame and A-Frame
Node js 入門
Try micronaut
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
Node.js で Web アプリ開発
Grunt入門
[大図解]ピグライフはこう動いている

What's hot (20)

PPTX
今から始めるDocument db
PDF
Node.js Tutorial at Hiroshima
PDF
Node.jsでスクレイピングして可視化してみた
PDF
[2019 01-19] AzureDevOps LT
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
PDF
FirebaseとNuxtでLPを作って見た
PDF
Babelで先取り次世代javascript
PDF
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
PPTX
Node.js Hands-On
PDF
Node.jsでブラウザメッセンジャー
PDF
Hello, Node.js
PDF
Nodeについて
PDF
Node.js を選ぶとき 選ばないとき
PPTX
Client Side Balzorでツールを作ってみた
PDF
サイト制作(Nuxt.js)学習実施要項
PDF
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
PDF
How To Drink Wsgi
PPTX
Clack meetup #1 lt
PDF
Reactとbabelで簡易タスク管理ツール作ってみた
PPTX
Getting started with node.js
今から始めるDocument db
Node.js Tutorial at Hiroshima
Node.jsでスクレイピングして可視化してみた
[2019 01-19] AzureDevOps LT
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
FirebaseとNuxtでLPを作って見た
Babelで先取り次世代javascript
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Node.js Hands-On
Node.jsでブラウザメッセンジャー
Hello, Node.js
Nodeについて
Node.js を選ぶとき 選ばないとき
Client Side Balzorでツールを作ってみた
サイト制作(Nuxt.js)学習実施要項
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
How To Drink Wsgi
Clack meetup #1 lt
Reactとbabelで簡易タスク管理ツール作ってみた
Getting started with node.js
Ad

Viewers also liked (12)

PDF
Gruntでフロントの生産性up
PDF
自動化ツール「Grunt.js」について
PDF
フロント開発をがんばるためにGulpとGruntに入門してみた
PPT
GruntでJavaScript 前作業の自動化!
PDF
Node.js Error & Debug Leveling
PDF
学校では教えてくれないWebセキュリティ
PDF
Gruntを導入しよう!の話
PDF
早く家へ帰るための
Grunt入門
[+gulp紹介]
PDF
Yeomanについて
PDF
Backbone.js入門
PDF
はじめよう Backbone.js
PDF
Gulp入門 - コーディングを10倍速くする
Gruntでフロントの生産性up
自動化ツール「Grunt.js」について
フロント開発をがんばるためにGulpとGruntに入門してみた
GruntでJavaScript 前作業の自動化!
Node.js Error & Debug Leveling
学校では教えてくれないWebセキュリティ
Gruntを導入しよう!の話
早く家へ帰るための
Grunt入門
[+gulp紹介]
Yeomanについて
Backbone.js入門
はじめよう Backbone.js
Gulp入門 - コーディングを10倍速くする
Ad

Similar to Grunt.jsを使った Expressの開発環境構築 (20)

PPTX
Gruntでjava script前作業の自動化!
PDF
Gruntの罪と罰
PDF
jsCafe v13 Grunt
PPTX
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
KEY
RoR周辺知識15項目
PDF
【日本語版】Styler: Our Journey to GCP
PDF
後期第二回ネットワークチーム講座資料
PDF
PHP on Windows Azure in Open Source Conference
PPTX
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
PPTX
13016 n分で作るtype scriptでnodejs
PDF
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
PDF
Webサイト・フロントエンドの高速化とgrunt.jsについて
PDF
PHP on Windows Azure
PDF
PHP on Windows Azure
PDF
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
PDF
試して学べるクラウド技術! OpenShift
PPTX
Dot netcore multiplatform 2
PDF
TypeScriptへの入口
PDF
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
PDF
Infrastructure as code for azure
Gruntでjava script前作業の自動化!
Gruntの罪と罰
jsCafe v13 Grunt
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
RoR周辺知識15項目
【日本語版】Styler: Our Journey to GCP
後期第二回ネットワークチーム講座資料
PHP on Windows Azure in Open Source Conference
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
13016 n分で作るtype scriptでnodejs
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
Webサイト・フロントエンドの高速化とgrunt.jsについて
PHP on Windows Azure
PHP on Windows Azure
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
試して学べるクラウド技術! OpenShift
Dot netcore multiplatform 2
TypeScriptへの入口
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
Infrastructure as code for azure

More from kamiyam . (20)

PDF
Socket.ioとBabylonJSで作ったIoT的ななにか
PDF
Managing multi-package repositories
PPTX
TypeScript + Express
PDF
プラベワークのススメ
PDF
kyoto.js13
PDF
HomeKitとNode.jsを使ってSiriでコントロールするなにか
PDF
Kinectを使った インタラクティブコンテンツを作った話
PDF
Node.jsでKinectを触ろうとして色々しくじった話
PDF
ヒカ☆ラボ@Osaka NodeBotsハンズオン
PDF
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
PDF
JavaScript Performance 20160723
PDF
JavaScriptが魅せる新たな世界
PDF
WordBench Osaka #48 About Calypso
PDF
Async Enhancement
PDF
はじめてのVue.js
PDF
Node.jsで始める Modern JavaScript Framework
PDF
Scalable Node.js with Redis Store
PDF
Node.js勉強会 Framework Koa
PDF
知っているつもりで実は知らない 拾う技術捨てる技術
PDF
PhpStormとGrunt.jsで作るCakePHP快適開発環境
Socket.ioとBabylonJSで作ったIoT的ななにか
Managing multi-package repositories
TypeScript + Express
プラベワークのススメ
kyoto.js13
HomeKitとNode.jsを使ってSiriでコントロールするなにか
Kinectを使った インタラクティブコンテンツを作った話
Node.jsでKinectを触ろうとして色々しくじった話
ヒカ☆ラボ@Osaka NodeBotsハンズオン
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
JavaScript Performance 20160723
JavaScriptが魅せる新たな世界
WordBench Osaka #48 About Calypso
Async Enhancement
はじめてのVue.js
Node.jsで始める Modern JavaScript Framework
Scalable Node.js with Redis Store
Node.js勉強会 Framework Koa
知っているつもりで実は知らない 拾う技術捨てる技術
PhpStormとGrunt.jsで作るCakePHP快適開発環境

Grunt.jsを使った Expressの開発環境構築