React+Babel+WebpackでHTMLにリストを書いてみた。
作ってみるもの
WebでReactの動的サイトを作るのを目標にとりあえず今回は、
React、Babel、Webpackを使って
普通のリストを作ることにしようかと。
もろもろのバージョンは下記
node:7.6.0
npm :4.4.4
React:15.4.2
Babel:6系
Webpack:2.2.1
Reactとは
Facebookが作っているJSのView部分だけのライブラリ
詳しくは本家を。
現在バージョンは15で、初期と大分変わっているので、記事を参考にする際はお気をつけください。
Babelとは
「BabelはブラウザにまだサポートされていないようなJavaScriptの次世代の標準機能を、現在のブラウザでも使えるようにするNode.js製のトランスパイラ。」
要はJSのコンパイラと考えていただければ。
ECMAScript(JavaScript の標準試用)準拠なのがいいところ。
Webpackとは
設定ファイルを書けば、依存関係を解消し、
ビルドしてくれるツール(つまりコンパイラ)です。
さっそく作ってみよう!
とりあえず今回は、
React、Babel、Webpackを使って
特に動かないリストを作ることにしようかと。
とりあえず動くものはFluxとか使ってからで。
まずは作業用ディレクトリでnpmで初期化して必要なものをインストール
※Babel6になりパッケージの分離が行われ、
必要なもののみインストールする必要あります。
このままじゃ使いづらいので
package.jsにwebpackコマンドを登録
これでnpm run webpackでwebpackが使えるようになります。
とはいえwebpackが何をするかの設定ファイルが必要なので、
下記を用意します。
※これもBabel6の影響でloaderがbabel-loaderになっています。
webpack.config.js
./publicに、entryでキーに指定した名前の[name].jsが書き出されます。
こうしておけば複数も可能です。
JSは今回はメインの呼び出しとリスト自体の2つ
app.js
list.js
こっちは今回は適当。
で、肝心のHTMLですが。
index.html
これだけ。
最後に
すると、publicディレクトリにapp.jsが出来ているので、
ブラウザからhtmlを開いてみると普通にリストが表示されます。
(ただのリストなので画像は貼りませんが苦笑)
まとめ
とりあえず入門したかなと。
ここから、FluxかRedux使ってデータ持たせたり、
ちゃんとコンポーネント設計したり、
axiosとか使ってAPI呼んでデータ取ってきたり。
お砂場はできれども道は遠き。