Provides a starting point to build an isomorphic app using ClojureScript.
This means that it runs NodeJs in the backend, and JavaScript in the browser on the frontend.
Because of the route driven nature of Keechma, a large part of the application will work in case JavaScript is not available on the client side.
yarn install
shadow-cljs watch server client
Then start the node server. I like using nodemon because it automatically restarts the server on code changes.
npm install -g nodemon
nodemon out/example/server.js
This is pretty light on features at the moment, as I extracted it from a current larger project and removed as much as I can.
Feel free to open an issue regarding this setup if you have any questions and I’ll see if I can answer it and improve this example.
We’re using this set up for a interactive marketing landing page/funnel. One of the main requirements were fast initial load, which unfortunately meant that we couldn’t wait for the entire ClojureScript bundle to download before displaying anything.
With this setup, initial load is very fast, and then the compiled ClojureScript gets downloaded in the background and initializes the interactive components.