この記事は Riot.js Advent Calendar 2017 13日目の記事です。 昨日は@supple さんによるRiot+ElectronでMarkdownエディタを作る でした。
tl;dr
- Parcel というJavaScriptのモジュールバンドラを触ってみた
- webpackなどと比べて設定ファイルなどもいらずとても簡単
- ホットリロードな開発サーバを簡単に実行できる
- Riotと組み合わせるのもそれほど難しくない
Parcel + Riot.js
Parcel というJavaScriptのモジュールバンドラが話題なのでさわってみました。 国内で話題になっている元の記事は「webpack時代の終わりとparcel時代のはじまり 」。 React との組み合わせで記事を書かれています。
個人的にはRiot.js が好みなので、Riot.jsとの組み合わせで触ってみました。 尚、webpackは挫折したため比較できません。
Parcel/Riot.jsのインストール
npmを使ってインストールします。
|
|
source code
ディレクトリ構造
以下の様なディレクトリ構造だとします。 なお、練習用のため、動作確認に関係ない部分は適当に削っています。
src/
|- index.html
|- index.js
|- package.json
|- app/
| |- App.tag
index.html
|
|
index.js
|
|
App.tag
|
|
package.json
package.json
はnpm init -y
で作成しました。
compile/bundle & run
|
|
上記のコマンドで http://localhost:1234
でホットリロードのサーバが動作します。
最終的な成果物を作る場合は parcel build index.html
とすれば良いようです。
しかし、riot.jsのコンパイルはparcelの前段で別途行っているため、tagファイルの変更はwatchされません。riotコマンドに-w
オプションをつけることでウォッチできますが、そのままだと二つのコマンドを別々の端末で開くなどする必要があり、若干面倒です。
package.json
のscripts
に以下の三つのコマンドを追加します。
|
|
追加したら、以下のコマンドを実行します。
|
|
これでコマンド一つでホットリロードの開発サーバを動作させることができます。