use nodejs and clojurescript¶
create a new project¶
lein new red-rss
edit core.cljs¶
move src/core.clj to src/core.cljs
(ns red_rss.core
(:require [cljs.nodejs :as node]))
(def express (node/require "express"))
(def app (express))
(defn -main [& args]
(. app (get "/" (fn [req res]
(. res (send "hello world")))))
(.log js/console (str "Express server started on port: " (.-port (.address (.listen app 3000))))))
(set! *main-cli-fn* -main)
edit project.clj¶
(defproject red-rss "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:plugins [[lein-cljsbuild "1.0.2"]]
:dependencies [[org.clojure/clojurescript "0.0-2173"] [org.clojure/clojure "1.5.1"] [org.bodil/cljs-noderepl "0.1.11"]]
:cljsbuild
{:builds
[{:source-paths ["src"],
:compiler
{:pretty-print true, :target :nodejs, :optimizations :simple}}]})
compile and run¶
$ lein deps
$ lein cljsbuild once
$ node target/cljsbuild-main.js