最後に、HTTPサーバーを起動するためのプラグインを使ってみましょう。
grunt-contrib-connectプラグインを使用すると、HTTPサーバーを起動できます。HTMLを記述するときなど、わざわざ自分でサーバーを用意しなくてもGruntからサーバーを起動してアクセス可能になります。
今回はこのプラグインでHTTPサーバーを起動し、HTMLのlivereloadを試してみましょう。
livereloadを試すために、「grunt-plugin-sample」ディレクトリにhtmlディレクトリを作成し、そこへhtmlファイルを作成しましょう。
取りあえず下記のようなindex.htmlファイルを用意しました。
<!DOCTYPE html>
<html>
<head lang="ja">
<meta charset="UTF-8">
<title>livere load</title>
</head>
<body>
<h1>sample html</h1>
</body>
</html>
そして、grunt-contrib-connectプラグインをインストールします。
% npm isntall grunt-contrib-connect --save-dev
次にGruntfile.jsを下記のように修正します。
connectタスクではサーバーを9000番ポートで起動するように指定し、htmlディレクトリをサーバーのドキュメントルートとして起動するように指定しています。また、watchタスクではhtmlディレクトリ以下の変更を監視し、「livereload」オプションを有効にしています。
// 'use strict';
module.exports = function (grunt) {
grunt.initConfig({
watch: {
options: {
livereload: true
},
html: {
files: ['html/**/*.html'],
tasks: ['']
}
},
connect: {
server: {
options: {
port: 9000,
base: 'html'
}
}
}
});
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-connect");
grunt.registerTask("default", ["connect", "watch"]);
};
Gruntを実行します。
% grunt connect watch Running "connect:server" (connect) task Started connect web server on http://0.0.0.0:9000 Running "watch" task Waiting...
livereloadを確認してみます。今回はGoogle Chrome(v33)を使用して動作確認をしたのですが、その前にブラウザー側にLiveReload拡張をインストールして有効化しておきます。
Gruntを実行し、Chrome拡張をインストールしたら「http://localhost/index.html」にアクセスしてみてください。index.htmlが表示されたら、そのままエディターで編集してみましょう。ファイルを保存すると、すぐにブラウザーの画面が更新されます。いちいち更新ボタンを押す手間が省けますね。
さて、今回はGrnut公式プラグインの、「grunt-contrib-coffee」「grunt-contrib-watch」「grunt-contrib-connect」について簡単に紹介しましたが、いかがでしたでしょうか。
CoffeeScriptをコンパイルしたり、ファイル監視と自動更新を試したりと、Gruntを使用することで、シンプルながら便利な機能を簡単に実現できました。これら以外にもGruntには便利なプラグインが多数存在するので、いろいろ探してみてください。
次回は、こういったGrunt用プラグインを自分で作成する方法について紹介する予定です。
中村修太(なかむら しゅうた)
クラスメソッド勤務の新しもの好きプログラマです。昨年、東京から山口県に引っ越し、現在はノマドワーカーとして働いています。好きなJazzを聴きながらプログラミングするのが大好きです。
ユカイ、ツーカイ、カイハツ環境!(32):exe/dmgしか知らない人のためのインストール/パッケージ管理/ビルドの基礎知識
爆捗! WordPressテーマ作成ショートカット(6):CSSコーディングでいますぐ使えるSass/Compass実践テク10連発!
初心者のためのJavaScript入門(1):ようこそJavaScriptの世界へ (1/4)
フレームワークで実践! JavaScriptテスト入門(1):JavaScriptテストの基礎知識と使えるフレームワーク6選 (1/3)
Scala+Play 2.0でWebアプリ開発入門(9):Play2におけるJSONおよびCoffeeScriptの使い方Copyright © ITmedia, Inc. All Rights Reserved.