Skip to content

Commit

Permalink
init module loader by hand
Browse files Browse the repository at this point in the history
as suggested by @thheller
  • Loading branch information
darwin committed Feb 3, 2020
1 parent 6b3405d commit afe9407
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
3 changes: 2 additions & 1 deletion examples/shadow-cljs.edn
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@
:devtools {; TODO: remove after https://github.com/thheller/shadow-cljs/issues/637
:loader-mode :script}}
:module-loader true
:module-loader-init false
:modules {:main {:entries [react-three-fiber.examples.index]
:init-fn react-three-fiber.examples.index/main!}
:init-fn react-three-fiber.examples.index/init!}
:demo-box {:entries [react-three-fiber.examples.demos.box]
:depends-on #{:main}}
:demo-refraction {:entries [react-three-fiber.examples.demos.refraction]
Expand Down
21 changes: 16 additions & 5 deletions examples/src/app/react_three_fiber/examples/index.cljs
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
(ns react-three-fiber.examples.index
(:require [react-three-fiber.examples.lib.ui :as ui :refer [defnc $]]
(:require [shadow.loader :as shadow-loader]
[applied-science.js-interop :as j]
[react-three-fiber.examples.lib.ui :as ui :refer [defnc $]]
[react-three-fiber.examples.lib.react-router-dom :refer [<router>]]
[react-three-fiber.examples.lib.dom :refer [get-element-by-id]]
[react-three-fiber.examples.pages.intro :refer [<intro>]]
[react-three-fiber.core :refer [use-frame <canvas>]]
[react-three-fiber.examples.styles :refer [<global-styles>]]))
[react-three-fiber.examples.styles :refer [<global-styles>]]
[react-three-fiber.examples.lib.helpers :refer [remove-trailing-slashes]]))

; -- app --------------------------------------------------------------------------------------------------------------------

(defnc <app> []
($ <router>
($ <global-styles>)
($ <intro>)))
($ <global-styles>)
($ <intro>)))

; ---------------------------------------------------------------------------------------------------------------------------

Expand All @@ -20,7 +23,15 @@
(defn render! []
(ui/render! ($ <app>) root-el))

(defn main! []
(defn init-module-loader! []
; https://github.com/thheller/shadow-cljs/pull/646
(let [origin (j/get-in goog/global [:window :location :origin])
pathname (j/get-in goog/global [:window :location :pathname])
prefix (remove-trailing-slashes (str origin pathname))]
(shadow-loader/init prefix)))

(defn init! []
(init-module-loader!)
(render!))

(defn ^:dev/after-load reload! []
Expand Down
6 changes: 5 additions & 1 deletion examples/src/app/react_three_fiber/examples/lib/helpers.cljs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
(ns react-three-fiber.examples.lib.helpers
(:require [cljs-bean.core :refer [bean]]
[applied-science.js-interop :as j]))
[applied-science.js-interop :as j]
[clojure.string :as string]))

(defn sin [x]
(Math/sin x))
Expand Down Expand Up @@ -182,3 +183,6 @@

(defn get-points [o subs]
(.getPoints o subs))

(defn remove-trailing-slashes [s]
(string/replace s #"/+$" ""))

0 comments on commit afe9407

Please sign in to comment.