1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaプロジェクトでElmのビルドする

Posted at

https://github.com/kawasima/bouncr
これのpomとpackage.jsonみて

前提

Javaに軽量Webフレームワークのenkanとkotowariというのがあるんですが
https://qiita.com/kawasima/items/723646eb30a91d724352
これを使うとClojureみたいにrepl(疑似repl)を立ち上げっぱなしにして、その中で/compileとか/resetして開発するんですよ

Bouncr (バウンサー)ではviewは基本的にテンプレートエンジンですがちょっとリッチな入力フォームが欲しかったので一部をElmで作りました

/compile -> /reset

/compile -> /resetでElmのbuildも走るようにしました

enkanでの開発は、コードを書き換えたら疑似replで/compile をたたいてmvn compileして、次に/resetして実際に動いているものと入れ替える(たぶんclass loaderを作り直す感じだと思ってる)というフローになっているので/compileでElmのbuildが一緒に走ればいいということになりました

exec-maven-plugin

exec-maven-pluginというのがあってこれ使うと任意のコマンド叩けます
叩くコマンドはpackage.json に用意しました
yarn run build:elmを実行するとelmからjsファイルが作られます

で、これをたたくようにpomに書きます
https://github.com/kawasima/bouncr/blob/06b6becc7c5bfa4c843aeddfcd3a243b5f6f708f/pom.xml#L256
maven lifecycleのgenerate-sourcesのときに呼ばれるようになります

これでElmもJavaも一貫した開発フローで回せるようになりました
ただElm入ってないとcompileこけるようになってしまった問題がありますが、ちょっとmaven力が足りないので自分でやってません・・・

Formの一部分でもリッチなものを作るのにElmを使ってみてもいいと思います
ただuglify通しても200kbくらいあって、これは、大きいんだろうな・・・
0.19でサイズ下がるといいですね

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?