Simple ClojureScript Project Example Using an External JavaScript Library One-time Setup ============== - Create a CLOJURESCRIPT_HOME environment variable which points to the ClojureScript root directory. - If you have not already done so, execute $CLOJURESCRIPT_HOME/script/bootstrap - Add $CLOJURESCRIPT_HOME/bin to your PATH. Simple external JavaScript file =============================== Run in Development Mode ----------------------- Development mode allows for each file to be loaded in a separate script tag so that errors can be easily tracked to the offending file. cljsc src > hello-js.js After running the above command, open hello-js-dev.html. Notice that each required JavaScript file has been loaded in its most readable form. Run Optimized JavaScript ------------------------ Once an application is ready for production, a single optimized file can be produced. cljsc src {:optimizations :advanced} > hello-js.js After running the above command, open hello-js.html to view the result. Using an externed JavaScript file ================================= To see how external calls are optimized away, execute the following: cljsc src '{:optimizations :advanced :output-to "hello-extern.js"}' After running the above command, open hello-extern.html to view the result. You should see nothing and possibly a JavaScript error. The solution is to compile the ClojureScript source with a referred externs file as follows: cljsc src '{:optimizations :advanced :output-to "hello-extern.js" :externs ["externs.js"]}' Again after running the above command, open hello-extern.html to view the result. You should see an alert box.