以前にWeb Starter Kitを紹介したときに、Borowser-Syncを使ってブラザを同期させる方法を紹介いたしました。今回はWeb Starter Kit以外のプロジェクトでもGulp + Browser-Syncを使って、ブラウザを同期させる方法をご紹介します。
前回の記事(Gulp Browser-Syncで、iPhone、Andoroid、Mac、Windowsでのテスト効率化)
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
Gulp利用手順
- npmとGulpをインストールしていないかたは、インストールを行います。
コンソール画面(黒い画面)を起動します。
(確認)$ npm -v 3.8.9 $gulp -v CLI version 3.9.1
(npmインストール)
http://nodejs.org/
上記URLより、node.jsをインストールしてください。
node.jsをインストールすると、パッケージ管理ツールのnpmもインストールされます。(Gulpインストール)
$ npm install -g gulp
(下記エラーが出力されたら)
npm ERR! Error: Attempt to unlock gulp, which hasn't been locked
sudoコマンドを使いインストールをしてください。$sudo npm install -g gulp
- プロジェクトディレクトリに、Gulpをインストールします。
npm install --save-dev gulp
- プロジェクトのrootディレクトリに「gulpfile.js」を作成します。
var gulp = require('gulp'); gulp.task('default', function() { // place code for your default task here });
- gulpの利用準備が整いました。
$ gulp
と入力してみましょう。
[14:17:50] Using gulpfile ~/Desktop/project/gulpfile.js [14:17:50] Starting 'default'... [14:17:50] Finished 'default' after 39 μs
localhostサーバーの起動と、ブラウザシンク
Gulpの利用準備ができました。続いてlocalhostの起動と、ブラウザシンクを利用出来るように設定します。
- Gulp Pluginのgulp-connectをインストールし、localhostサーバーを起動できるようにします。
$ npm install gulp-connect
- gulpfile.jsを編集します。
var gulp = require('gulp'); var connect = require('gulp-connect'); gulp.task('default', function() { // place code for your default task here }); gulp.task('connect', function() { connect.server({ root: './', livereload: true }); }); gulp.task('html', function () { gulp.src('./*.html') .pipe(connect.reload()); }); gulp.task('watch', function () { gulp.watch(['./*.html'], ['html']); }); gulp.task('default', ['connect', 'watch']);
- localhostサーバーを起動してみましょう
$ gulp
Server Startedに、localhostのアドレスが表示されました。 こちらのアドレスにアクセスすることで、プロジェクトサイトをローカルで確認することができます。 さらに、ライブリロードされるの、htmlファイルを編集し、保存後即座にブラザもリロードされます。
- 次に、Browser-syncをインストールします。
$ npm install browser-sync gulp --save-dev
- gulpfile.jsを編集します。
var gulp = require('gulp'); // browser Sync var browserSync = require('browser-sync'); // Static server gulp.task('browser-sync', function() { browserSync({ server: { baseDir: "./" } }); }); gulp.task('default', ['browser-sync']); // Reload all Browsers gulp.task('bs-reload', function () { browserSync.reload(); }); // Watch scss AND html files, doing different things with each. gulp.task('default', ['browser-sync'], function () { gulp.watch("./*.html", ['bs-reload']); });
- 再度localhostサーバーを起動してみましょう。
$ gulp
[BS] External: >>> http://192.168.8.145:3000 Externalに表示されたアドレスにブラザでアクセスすると、ブラウザのシンクが出来たかと思います。
ローカルの検証環境として利用するのに、とても便利ですよね。
私の環境は、ひとまずGulpで落ち着きそうです。
関連記事
Google:マルチプラットフォームテンプレのWeb Starter Kitを触ってみた
Gulp Browser-Syncで、iPhone、Andoroid、Mac、Windowsでのテスト効率化