gulp+babelでのフロントエンド開発について – 2. gulpによるビルド
Topics
こんにちは、エンジニアのturryです。
最近は、node.js5やbabel6のリリース情報が発表され、ますます JavaScript界隈が活気付いているのを感じます。
Node.js ChangeLog
https://github.com/nodejs/node/blob/v5.0.0/CHANGELOG.md
babel 6.0.0 Released
http://babeljs.io/blog/2015/10/29/6.0.0/
さて、前回はgulp+babelでのフロントエンド開発環境を作成しました。
今回は、実際にgulpfile.babel.jsにコードを書いて、ビルドしてみます。
1、基本的な処理の流れ
せっかくなので、gulpの API docsに記載されていますソースコードを元に説明します。
gulp API docs
https://github.com/gulpjs/gulp/blob/master/docs/API.md
gulp.src('client/templates/*.jade') .pipe(jade()) .pipe(gulp.dest('build/minified_templates'));
上記について、どのような挙動をおこなっているか一行ずつ説明してみます。
1行目では、client/templates/フォルダにあるjade拡張子のファイルを読み込んでおります。
2行目では、1行目で読み込んだjadeファイルを、htmlファイルに変換します。
3行目では、2、3行目で処理したファイルを、build/minified_templates/フォルダに格納します。
この様に、gulp.src()で指定したファイルを読み込み、pipe()内に記載された様々な処理を順々に行い、gulp.dest()で指定したフォルダに格納する、というのが基本的な流れとなります。
2、実際に動かしてみる
上記ソースコードでは、ビルドはできません。
それでは、実際にビルドできるコードに書き直してみます。
まず、必要なnpmモジュールをインストールします。
$ npm install --save-dev gulp $ npm install --save-dev babel-core $ npm install --save-dev babel-preset-es2015 $ npm install --save-dev gulp-jade
gulpによる処理を行うためgulpを、ES6形式でコードを記載するため、babel-core、babel-preset-es2015を、そしてjadeファイルをhtmlファイルに変換するためgulp-jadeをインストールします。
npm install でモジュールをインストールする場合、— save-dev オプションを追加することで、package.json にモジュール情報が自動的に追加され、次回以降はnpm installで必要なnpmパッケージは全てインストールされます。
$ npm install --save-dev gulp-load-plugins
次に、gulp-*がつくnpmモジュールを自動で読み込むgulp-load-pluginsをインストールします。
$ echo -e "{\n\t\"presets\": [\"es2015\"]\n}" > .babelrc
最後にbabelで使用するプリセットをes2015に指定するため、package.jsonに上記コマンドで.babelrcファイルを作成します。
これで準備が整いました、実際にコードを書いてみます。
'use strict'; import gulp from 'gulp'; import gulpLoadPlugins from 'gulp-load-plugins'; const $ = gulpLoadPlugins(); const common = { src: 'client/templates/*.jade', dist: 'build/minified_templates' }; gulp.task('htmls', () => { return gulp.src(common.src) .pipe($.jade({ pretty: true })) .pipe(gulp.dest(common.dist)); });
このような形となります。
importでnpmモジュールを読み込み、gulpのタスク[‘htmls’]を作成し、実行する流れです。
Jadeについては、こちらをご参照ください。
Jade – Temprate Engine(Language Reference)
http://jade-lang.com/reference/
それでは、client/templates にjadeファイルを配置してみます。
doctype html html head title Javascript Exsample meta(charset='UTF-8') meta(http-equiv='X-UA-Compatible', content='IE=edge') meta(name='viewport', content='width=device-width, minimum-scale=1.0, maximum-scale=1.0') meta(name='format-detection', content='telephone=no') body p 404 Error
それでは、ビルドしてみます。
gulp htmls
これで、build/minified_templatesにindex.htmlが作成されます。
以上で完了です。
次の更新では、bootstrap を導入してみます。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterRecommends
こちらもおすすめ
-
自称IoT女子、Arduinoはじめました😈
2016.9.5
-
セキュリティ・アプライアンス/サービスの検証・1
2015.11.4
-
【Linux】Webアプリ開発における簡単なトラブルシューティング
2023.9.1
-
痛い意味ではなくSORACOMで植物と会話した話👍
2016.10.17
-
テレワーク導入で日本の企業を盛り上げよう
2017.7.26
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16