We are proud to announce the release of version 0.2.0 of our ClojureScript library Prerenderer, a library to do server side pre-rendering of single page applications. In this release, we include:
- Changed the ClojureScript API to hide NodeJS details.
- New re-frame implementation that depends on re-frame 0.6.0 but not on a fork.
- Added an option to specify the working directory for the JavaScript engine. Courtesy of Andrey Subbotin
- Added Function to stop JavaScript engine.
- Renamed run to start! to match stop!
- Added option :noop-when-stopped that will make prerenderer just issue a warning when the JavaScript engine is not running.
The two first items in the changelog came hand in hand and they are the biggest changes to keep in mind if you are upgrading. We are very happy that we no longer need a fork of re-frame and we would like to extend our gratitude to Mike Thompson for working with us on having the appropriate API to make this happen.
The change in API means that your Prerenderer module now would look something like this:
(ns projectx.node (:require [prerenderer.core :as prerenderer])) (defn render-and-send [page-path send-to-browser] (send-to-browser (render page-path))) (set! *main-cli-fn* (prerenderer/create render-and-send "ProjectX"))
instead of:
(ns projectx.node (:require [cljs.nodejs :as nodejs] [prerenderer.core :as prerenderer])) (defn render [req res] (let [page-path (.-path (.parse url (.-url (.-query req))))] (.send res (render page-path)))) (set! *main-cli-fn* (prerenderer/create render "ProjectX"))
Enjoy!
Leave a Reply