aaronlifton3 / scala-js-example-app

Example application built with Scala.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Example application written in Scala.js

This is a barebone example of an application written in Scala.js.

Get started

To get started, open sbt in this example project, and issue the task packageJS. This creates the file target/scala-2.10/example.js and its siblings example-extdeps.js and example-intdeps.js. You can now open index-dev.html in your favorite Web browser!

During development, it is useful to use ~packageJS in sbt, so that each time you save a source file, a compilation of the project is triggered. Hence only a refresh of your Web page is needed to see the effects of your changes.

The optimized version

Instead of running packageJS, you can also run optimizeJS to generate a much more compact version of the JavaScript code. While index-dev.html refers to the JavaScript emitted by packageJS, index.html refers to the optimized JavaScript emitted by optimizeJS.

The optimization phase is performed by the Advanced Optimizations of the Google Closure Compiler, which make strong assumptions about the code being compiled.

All the code generated by Scala.js respects these assumptions. But if you modify startup.js, make sure that you comply with them if you want to be able to use optimizeJS.

In a bigger application, startup.js or an equivalent file will typically export selected APIs from the code generated by Scala.js. The exported symbols can then be used from other JavaScript code that is not being processed by Closure.

About

Example application built with Scala.js