[フロントエンド] gulpからBrowserifyを利用する、watchでコンパイルする
こんにちは、@yoheiMuneです。
前回の[フロントエンド] nodeモジュール管理がフロントで使えるBrowserifyに入門に引き続き、今日はgulpからBrowserifyを利用する方法をブログに書きたいと思います。
次に必要なモジュールをインストールします。今回は
本ブログでは、フロントエンド・Python・機械学習を中心に発信していきます。気になった方はぜひ、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
前回の[フロントエンド] nodeモジュール管理がフロントで使えるBrowserifyに入門に引き続き、今日はgulpからBrowserifyを利用する方法をブログに書きたいと思います。
目次
gulpなど準備
まずはgulpから利用するためのnpmパッケージなどの準備を行います。まずはpackage.json
を作成して、依存モジュールを記録できる状態にします。$ npm init # 色々と聞かれるけどエンターを連打すればok上記を実行したディレクトリに
package.json
が生成されます。このファイルを作って、利用するモジュールの情報をここに記載することで、別の環境を構築する場合にnpm install
を実行するだけで全ての利用モジュールをインストールすることができ、とても便利です。次に必要なモジュールをインストールします。今回は
gulp
、browserify
、vinyl-source-stream
をインストールします。$ npm install --save-dev gulp $ npm install --save-dev browserify $ npm install --save-dev vinyl-source-stream上記のインストールで
--save-dev
と記述することで、開発用の(=コンパイルタスク用の)依存モジュールである旨が、以下のようにpackage.json
のdevDependencies
に追記されます。// package.json { "name": "gulp-browserify-sample", "version": "0.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "gulp": "~3.9.1", "vinyl-source-stream": "~1.1.0", "browserify": "~13.0.0" } }これでモジュールのインストールは完了です。
gulpfile.jsを作成する
次にgulpでビルドするために、gulpfile.js
を作成します。内容としては簡単で以下のように作成します。// gulpfile.js var gulp = require('gulp'); var browserify = require('browserify'); var source = require('vinyl-source-stream'); // browserify and gulp. gulp.task('browserify', function () { return browserify('./main.js') .bundle() .pipe(source('bundle.js')) .pipe(gulp.dest('./dist/')); });上記を実装後に、以下のコマンドを実行することで、gulp経由でBrowserifyを実行することができます。
$ gulp browserify [13:15:20] Using gulpfile ~/tmp/gulpfile.js [13:15:20] Starting 'browserify'... [13:15:20] Finished 'browserify' after 58 msこれでgulpの他の様々なタスクと組み合わせることができるようになりました!
gulpのwatchタスクでbrowserifyを行う
上記でbrowserify
というgulpタスクを定義できましたので、以下のようにすることでwatchで使うことができます。// gulpfile.js gulp.task('watch', function () { gulp.watch(['./*.js'], ['browserify']); });そして、以下のコマンドでwatchすることができます。
$ gulp watch
watch
タスクでは、監視対象ファイルと、それが変更された時に実行する処理を定義することで、ファイルを保存するたびにビルドを行うことができます。開発を行う上で、開発効率化のために重要な機能です。最後に
本日はgulp経由でBrowserifyを利用する方法をブログに書きました。フロントエンドのビルドツールと言えばgulpという感じが最近あるので、それに組み込めることはかなり素敵です。gulpもちょくちょく使っているので、今後も色々とブログを書けたらと思います。本ブログでは、フロントエンド・Python・機械学習を中心に発信していきます。気になった方はぜひ、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!