この投稿では、前回に引き続き、アノテーションを含む Java コードで書かれた処理やメタデータ取得を、どうしても JavaScript で再現して利用したい場合の一つの解決策を示します。
今回も JSweet というツールを利用します。
前回は簡単に使えましたが、今回のようにアノテーションを残して処理した場合に面倒な部分がありました。
サンプルプロジェクトはこちら
昔のプロジェクトでページ描画に使われている依存ファイルについては、あるディレクトリ以下のどこかに実際の対象ファイルがあり、それを探して選び出してくるという関係になっていました。つまり、 require()
などに直接変換すれば良いというものではありませんでした。
closure-loader がそんな感じではあります。
今回は、ルーターのような働きをする関数を設けて依存性解決を行います。入れ子だったり流入口が複数ある場合に役立つのかもしれません。
サンプルプロジェクトはこちら
この中では、独自ダグの単純な置き換えだけをやっています。(属性やタグ内の内容はまだ渡せません。)
Webpack で似たような entryPoint が大量に並ぶなと感じたため、こちらもユースケースは多くないかもしれませんが、 loader を新たに作りました。
これを使うと、テンプレート化したような entryPoint 用ファイルを 1 つだけ用意して query をくっつけて entry 定義するだけで、 entryPoint を量産できます。
何かある場合は GitHub のリポジトリにお願い致します。
yarn add -D interpolate-by-query-loader |
先日投稿した記事での Webpack の使い方を応用して、 fork
しているように処理パイプラインを構築できる loader を作成しました。(fork
関数とは違って、現時点では親プロセスは意味を持たなくなります。)
ユースケースは多くないかもしれませんが、 multi-loader 的な使い方ができるかと思います。(全く同じようにするには終端器となる loader が必要かもしれません。)
何かある場合は GitHub のリポジトリにお願い致します。
yarn add -D fork-loader |