I use clojurescript to interact with React. Luckily with a small community we aren't overrun by build tools! I've recently taken up the boot[1], and it's amazing. I'm able to quickly get up a live-reloadable environment wherein I can actually _understand_ what is going on.
cd my_project
boot dev
'boot dev' is a task that's defined in the project's build.boot file. It compiles the cljs files to a main.js file, and serves it from a specified directory.
Any edit to a cljs file triggers a recompile (of that namespace only - takes about 0.1 second). If the recompile is unsuccessful then a buzz sound plays. If the recompile is successful, boot will play a nice subtle ding sound, and reload the main namespace. With immutable datastructures everywhere, arranging the app's state to allow reloading is simple.
How simple? There's a fantastic tutorial about how to setup everything I've just described at: [2].
This template will spit out all the code needed for the live-reload-cljs thing [3]. Once you install boot (with 'brew boot-clj' it's on apt-get too), You can run it with
boot -d seancorfield/boot-new new -t tenzing -a +reagent -n boot-cljs-project
cd boot-cljs-project
boot dev
;; then edit the cljs file.
Any edit to a cljs file triggers a recompile (of that namespace only - takes about 0.1 second). If the recompile is unsuccessful then a buzz sound plays. If the recompile is successful, boot will play a nice subtle ding sound, and reload the main namespace. With immutable datastructures everywhere, arranging the app's state to allow reloading is simple.
How simple? There's a fantastic tutorial about how to setup everything I've just described at: [2].
This template will spit out all the code needed for the live-reload-cljs thing [3]. Once you install boot (with 'brew boot-clj' it's on apt-get too), You can run it with
[1] http://boot-clj.com[2] https://github.com/magomimmo/modern-cljs/blob/master/doc/sec...
[3] https://github.com/martinklepsch/tenzing