Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
src/hello-js
.gitignore
README.md
externed-lib.js
externs.js
hello-extern.html
hello-js-dev.html
hello-js.html
my-external-lib.js

README.md

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.

Something went wrong with that request. Please try again.