Play Framework with Scala.js
This is a simple example application showing how you can integrate a Play project with a Scala.js project.
The application contains three directories:
server Play application (server side)
client Scala.js application (client side)
shared Scala code that you want to share between the server and the client
Run the application
$ sbt > run $ open http://localhost:9000
- Run your application like a regular Play app
compiletriggers the Scala.js fastOptJS command
runtriggers the Scala.js fastOptJS command on page refresh
~run, continuous compilation is also available
- Compilation errors from the Scala.js projects are also displayed in the browser
- Production archives (e.g. using
- Source maps
- Open your browser dev tool to set breakpoints or to see the guilty line of code when an exception is thrown
- Source Maps is disabled in production by default to prevent your users from seeing the source files. But it can easily be enabled in production too by setting
emitSourceMaps in fullOptJS := truein the Scala.js projects.
The root project aggregates all the other projects by default.
Use this root project, called
play-with-scalajs-example, to clean all the projects at once.
$ sbt > play-with-scalajs-example/clean
$ sbt "eclipse with-source=true"
- Inside Eclipse,
File/Import/General/Existing project..., choose the root folder. Uncheck the second and the last checkboxes to only import client, server and one shared, click
In IntelliJ, open Project wizard, select
Import Project, choose the root folder and click
Import project from external model option, choose
SBT project and click
Next. Select additional import options and click
Make sure you use the IntelliJ Scala Plugin v1.3.3 or higher. There are known issues with prior versions of the plugin.