Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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.