Tutorial ini diasumsikan memakai mesin mac atau linux, windows menyusul (atau jika ada request).
Install clojure!
Mac
brew install clojure
Linux
curl -O https://download.clojure.org/install/linux-install-1.9.0.381.sh
chmod +x linux-install-1.9.0.381.sh
sudo ./linux-install-1.9.0.381.sh
Buat direktori seperti berikut
.
βββ deps.edn
βββ src
βββ app
βββ main.cljs
deps.edn
{:deps {org.clojure/clojure {:mvn/version "1.9.0"}
org.clojure/clojurescript {:mvn/version "1.10.238"}
reagent {:mvn/version "0.8.1"}
*By the way, reagent sebenarnya gak perlu!, di sini saya cuma ingin sekaligus demo gampangnya pake React di ClojureScript
main.cljs
(ns app.main
(:require [cljsjs.material-ui]
[cljsjs.material-ui-svg-icons]
[reagent.core :as r]))
(enable-console-print!)
(println "Hello from cljs-main")
Run Clojure
clj --main cljs.main --watch src --compile app.main --repl
Perintah di atas akan meng-compile namespace app.main ke javascript dan membuka ClojureScript repl.
Untuk menutupnya gunakan CMD+D atau CTRL+D. Sampai di sini, seharunya windows baru muncul. Perhatikan dev console, ada log "Hello from cljs-main".
Tambahkan index.html dengan tag <div id="app"></div> se-level dengan deps.edn, lalu masukan kode di bawah di bagian paling bawah main.cljs.
(r/render [:h1 "Hello ClojureScript!"]
(js/document.getElementById "app"))
Restart clojure, window yang muncul selanjutnya akan berubah. Perhatikan, kalau kode [:h1 "Hello ClojureScript!"] adalah JSX react component, yang di wrap dalam tag <h1>.
Thatβs it!