More Related Content
PDF
PDF
Reactとbabelで簡易タスク管理ツール作ってみた PDF
PPT
PDF
PDF
PDF
PDF
What's hot
PDF
Grunt.jsを使った Expressの開発環境構築 PDF
Node.js Tutorial at Hiroshima PDF
早く家へ帰るための
Grunt入門
[+gulp紹介] PDF
PPTX
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する PDF
PDF
PDF
PDF
Node.js基礎の基礎 - Miyazaki.js vol.2 PDF
PDF
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy PDF
PDF
PPT
PPTX
PDF
MasterCloud Docker Hands-on 20170725 PDF
月刊ライトニングトーク 2014/05 atom-shell を試してみた PDF
コンテナ事例 CircleCI, Cucumber-Chef PDF
Alibaba Cloud で Docker を動かしてみよう [Hands-on] PDF
Similar to Grunt入門
PDF
PDF
PDF
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~ PDF
フロントエンド制作向け ビルドツールGruntを PHPバックエンド開発で利用する @M_Ishikawa #phpcon2013 PDF
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia ODP
PPT
GruntでJavaScript 前作業の自動化! PPTX
Gruntでjava script前作業の自動化! PDF
Webサイト・フロントエンドの高速化とgrunt.jsについて PDF
PDF
フロント開発をがんばるためにGulpとGruntに入門してみた PDF
PDF
PPTX
PPTX
PDF
PDF
PhpStormとGrunt.jsで作るCakePHP快適開発環境 PPTX
node-gypを使ったネイティブモジュールの作成 PPTX
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1 PDF
Grunt入門
- 1.
- 2.
アジェンダ
• 1.Gruntとは
• 2. Node.jsのインストール
• 3. Gruntのインストール
• 4. プラグインのインストール
• 5. Gruntfile.jsの設定
• 6. Grunt vs gulp
2
- 3.
Gruntとは
3
•http://gruntjs.com/
• Web開発でよく行う操作を自動化するツール
(タスクランナー)
• よく行う操作の例
• ファイルの結合
• minify化
• altJS等のファイル保存時のコンパイル処理等
- 4.
- 5.
Node.jsのインストール
• インストールまでのざっとした流れ
1. $git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0
—tags` (nvmがダウンロードされる)
5
2. ~/.bashrc or ~/.zshrcに以下を記述
$ source ~/.nvm/nvm.sh
3. ~/.bashrc or ~/.zshrcの読み込み
$ . ~/.bashrc or . ~/.zshrc
4. nvm install 0.10 (0.10系の最新がインストールされる)
5. ~/.nvmrcファイルを作りその中に使うnodeのバージョンを記述(v.0.10.32がある前提)
v0.10.32
- 6.
Node.jsのインストール
• インストールまでのざっとした流れ(続き)
6
6. ~/.bashrc or ~/.zshrcに以下を記述
source ~/.nvm/nvm.sh # nodeを使うおまじない
nvm run -v # nvmrcに記述した内容を読み取って使用するnodeのバージョンを決定
if npm -v >/dev/null 2>&1; then
. <(npm completion) # npmのTAB補完を強化
fi
————————
~/.bashrcのみ
# nvmのTAB補完を強化
[[ -r $NVM_DIR/bash_completion ]] && . $NVM_DIR/bash_completion
- 7.
Node.jsのインストール
• 以上1~6までの一連の流れを終えればnode,npm
コマンドが使えるようになっているはず!
※npm とはNode Package Manager の略でNode で作られたパッケージモジ
ュールを管理するためのツール
(参考: http://tmlife.net/programming/javascript/nodejs-package-manager-npm-usag.
7
html)
- 8.
- 9.
- 10.
- 11.
プラグインのインストール
• package.jsonの役割
• プロジェクトに依存しているモジュール(ライブラリ)の管理
• phpでいうcomposer
• rubyでいうbundler
• jsだと他にもbowerというものがあるが、違いはクライアントサイドが
bower, サーバーサイドがnpmくらいの理解で良いと思う。
• 本番/テスト実行時のスクリプトを記述しておける。
• プロジェクトのパッケージ情報の記述
11
- 12.
プラグインのインストール
• プロジェクトでgruntを走らせるのに必要なもの
をインストールする。
以下は今回のサンプルで使うものをインストールしている
$npm install --save-dev grunt grunt-contrib-concat grunt-contrib-uglify grunt-contrib-
watch
※--save-devオプションをつけるとpackage.jsonにプロジェクトに依存するモ
ジュール情報をインストールと一緒に追記してくれる。
12
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
Gruntfile.jsの設定
• initConfig
• githubのレポジトリに各プラグイン毎にタスクの書き方やオ
プションなどが書かれているのでそちらを参考にする。
• https://github.com/gruntjs/grunt-contrib-concat
• https://github.com/gruntjs/grunt-contrib-uglify
• https://github.com/gruntjs/grunt-contrib-watch
19
- 20.
Gruntfile.jsの設定
• registerTask
• default : gruntコマンドに引数を渡さなかったと
きに実行されるタスクを記述
• 引数あり: 引数と同じ名前のタスクが実行され
る。
今回のサンプルコードを例にすると以下のコマンドを実行するとconcatタ
スクが呼ばれあとに、uglifyタスクが実行される。
$ grunt build
20
- 21.
- 22.
Grunt vs gulp
• gulpとは
• Gruntと同じタスクランナー
• Gruntの後に作られた。
• 以下を参考にすると良いかも。
• http://lxyuma.hatenablog.com/entry/2014/05/25/162218
• http://markdalgleish.github.io/presentation-build-wars-gulp-vs-grunt
22
- 23.
Grunt vs gulp
• Gruntとの比較
• メリット
• 複雑なtaskも管理し易く、simpleで、使うのが簡単
• 一時fileのdisk書き込みが無いので早くて能率的
• simpleで期待通り動くようにPluginのGuidelineがある
• APIが小さく学習時間かからない
• デメリット
• プラグインの数が少ない(gruntと比較して)
• grunt : 3745個, gulp : 779個(どちらも2014/10/22現在)
23
- 24.