This demonstrates using Scala.js with React and Material-ui.
This is accomplished by using these Scala.js wrappers:
- slinky for React
- st-material-ui for Material-ui
Note that st-material-ui
is also available for scalajs-react.
You can see this deployed at https://oyvindberg.github.io/st-material-ui-demo/
The source code is here
You need to explicitly install the following software:
- sbt, as part of getting started with Scala (or if you prefer, through its standalone download)
- Node.js
Other software will be downloaded automatically by the commands below.
Before doing anything, including before importing in an IDE, run
$ npm install
Open two terminals.
In the first one, start sbt
and, within, continuously build the Scala.js project:
$ sbt
...
> ~fastLinkJS
...
In the second one, start the Vite development server with
$ npm run dev
...
Follow the URL presented to you by Vite to open the application.
You can now continuously edit the Main.scala
file, and Vite will automatically reload the page on save.
Make a production build with
$ npm run build
You can then find the built files in the dist/
directory.
You will need an HTTP server, such as python3 -m http.server
, to open the files, as Vite rewrites <script>
tags to prevent cross-origin requests.