An example of a Vite build for a Scala.js + Laminar + frontroute app.
This app also demonstrates how to use the embedded-files – sbt plugin and the macro – to effectively achieve "resources" in Scala.js.
The app is styled with tailwindcss.
$ cd modules/website
$ yarn install
In sbt:
sbt:laminar-vite2-example> fastLinkJS
// OR, if you want sbt to watch the source changes and rebuild continuosly
sbt:laminar-vite2-example> ~fastLinkJS
Then, start the dev server:
$ yarn dev
In sbt:
sbt:laminar-vite2-example> fullLinkJS
In the modules/website/index.html
uncomment the reference to the production main.js
(TODO: automate this?)
Run the build
:
$ yarn build
The assets will end up in the dist
directory.
index.*.js
~880K
vendor.*.js
~43K
index.*.css
~4.3K
To preview the production build:
$ yarn serve
You can build this app with Scala 3:
- uncomment the corresponding line in the
build.sbt
(and comment the other one), same in thevite.config.js