1)快適なReact.js開発環境をgulpで作る
React.jsはJSX という言語を利用して開発します。
JSX はトランスコンパイル言語と呼ばれるもので、JavaScriptに変換して利用します。
jsxというコマンドを利用すればJSX ファイルをJavaScriptに変換サッカーベットことが可能ですが、ソースコードを変更サッカーベットたびにJSX をコンパイルサッカーベットのは面倒です。まずはソースコードの変更を検知して自動的にコンパイルし、ブラウザのリロードまでを行ってくれる環境を構築しましょう。
JavaScriptには便利なツールがいくつかありますが、今回はgulp + webpackを利用して環境を構築します。これらの動作にはNode.js が必要となりますので、まずはNode.js のインストールから行いましょう。なお、この組み合わせの他にもGrunt + Browserifyなどがあります。
Node.jsのインストール
Node.js のホームページから各OS用のパッケージをダウンロードし、Node.js をインストールしてください。
React.js開発のためのテンプレートダウンロード
次に、gulp + webpackの環境を構築サッカーベット必要がありますが、いろいろと設定サッカーベット項目が多いのでテンプレートを用意しました。このテンプレートは下記の手順を省略サッカーベットことができます。
- 使用サッカーベットライブラリの依存関係の定義
- ビルド手順の定義
- JavaScriptを動かすHTMLの作成
テンプレートを使用サッカーベットにはレポジトリをクローンし、ライブラリのインストールを行ってください。
git clone https://github.com/jirokun/ReactTemplatecd ReactTemplatenpm install -g gulpnpm install
このテンプレートは以下のディレクトリ構成となります。後述サッカーベットサーバサイドレンダリングでJavaを使用サッカーベットため、Maven の構成に則っています。
JSX ファイルはsrc/main/jsxに.jsxというファイル名で保存します。ここに格納されたファイルはビルドされ、dist/scripts/client-bundled.jsにまとめられます。wwwディレクトリにはindex.htmlなどの静的ファイルを格納します。ここに配置されたファイルはビルド時にdist/にコピーされます。
テンプレートにはあらかじめsrc/main/www/index.htmlが格納されており、dist/scripts/client-bundled.jsを参照サッカーベットようにHTMLが書かれています。
コラム ソースの依存関係の解決
通常プログラムを作成サッカーベット場合、ファイルを分割して開発します。分割したファイルの依存関係を解決サッカーベットために、importやrequireなどを使用しますが、ブラウザで実行サッカーベットJavaScriptでは他のファイルをロードサッカーベット仕組みがありません。そのためHTMLの中に必要となるファイルをscriptタグで書いて依存関係を解決します。
しかし、JavaScriptの実行環境であるNode.js ではrequire機能が備わっています。このrequireをブラウザ側でも使用サッカーベットためwebpackやbrowserifyが開発されました。webpackができた経緯については「JavaScriptとECMAScript、CommonJS/AMD/Browserify/RequireJS/Webpack、TypeScriptに関サッカーベット覚え書き」が詳しいです。
