Skip to content

Commit 8649a5a

Browse files
committed
figwheel
1 parent c15f3c5 commit 8649a5a

6 files changed

Lines changed: 43 additions & 16 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
config.edn
55
.idea
66
*.iml
7+
resources/public/js/
8+
*.log

project.clj

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,32 @@
1414
[ring/ring-json "0.3.1"]
1515
[cheshire "5.1.1"]]
1616
:plugins [[lein-environ "1.0.0"]
17-
[lein-gen "0.2.2"]]
17+
[lein-gen "0.2.2"]
18+
[lein-figwheel "0.3.9"]]
1819
:generators [[duct/generators "0.3.0"]]
1920
:duct {:ns-prefix modern-clj-web}
2021
:main ^:skip-aot modern-clj-web.main
2122
:target-path "target/%s/"
2223
:aliases {"gen" ["generate"]
2324
"setup" ["do" ["generate" "locals"]]}
2425
:profiles
25-
{:dev [:project/dev :profiles/dev]
26-
:test [:project/test :profiles/test]
27-
:uberjar {:aot :all}
28-
:profiles/dev {}
29-
:profiles/test {}
30-
:project/dev {:source-paths ["dev"]
31-
:repl-options {:init-ns user}
32-
:dependencies [[reloaded.repl "0.1.0"]
33-
[org.clojure/tools.namespace "0.2.11"]
34-
[kerodon "0.6.1"]]
35-
:env {:port 3000}}
36-
:project/test {}})
26+
{:dev [:project/dev :profiles/dev]
27+
:test [:project/test :profiles/test]
28+
:uberjar {:aot :all}
29+
:profiles/dev {}
30+
:profiles/test {}
31+
:project/dev {:source-paths ["dev"]
32+
:repl-options {:init-ns user}
33+
:dependencies [[reloaded.repl "0.1.0"]
34+
[org.clojure/tools.namespace "0.2.11"]
35+
[kerodon "0.6.1"]]
36+
:env {:port 3000}}
37+
:project/test {}}
38+
:cljsbuild
39+
{:builds [{:id "dev"
40+
:source-paths ["src-cljs"]
41+
:figwheel true
42+
:compiler {:main "modern-clj-web.core"
43+
:asset-path "js/out"
44+
:output-to "resources/public/js/modern-clj-web.js"
45+
:output-dir "resources/public/js/out"}}]})

resources/public/index.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
</head>
5+
<body>
6+
<div id="main">
7+
</div>
8+
<script src="js/modern-clj-web.js" type="text/javascript"></script>
9+
</body>
10+
</html>

src-cljs/modern_clj_web/core.cljs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
(ns ^:figwheel-always modern-clj-web.core)
2+
3+
(enable-console-print!)
4+
5+
(println "hello from clojurescript")
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
(ns modern-clj-web.endpoint.example
22
(:require [compojure.core :refer :all]
3+
[clojure.java.io :as io]
34
[ring.util.response :refer [response]]))
45

56
(defn example-endpoint [config]
67
(routes
78
(GET "/hello" [] (response {:hello "world"}))
8-
(GET "/" [] "Hello World")))
9+
(GET "/" [] (io/resource "public/index.html"))))

src/modern_clj_web/system.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[duct.middleware.not-found :refer [wrap-not-found]]
66
[meta-merge.core :refer [meta-merge]]
77
[ring.component.jetty :refer [jetty-server]]
8-
[ring.middleware.defaults :refer [wrap-defaults api-defaults]]
8+
[ring.middleware.defaults :refer [wrap-defaults site-defaults]]
99
[ring.middleware.json :refer [wrap-json-body wrap-json-response]]
1010
[modern-clj-web.endpoint.example :refer [example-endpoint]]))
1111

@@ -15,7 +15,7 @@
1515
[wrap-json-response]
1616
[wrap-defaults :defaults]]
1717
:not-found "Resource Not Found"
18-
:defaults (meta-merge api-defaults {})}})
18+
:defaults (meta-merge site-defaults {})}})
1919

2020
(defn new-system [config]
2121
(let [config (meta-merge base-config config)]

0 commit comments

Comments
 (0)