forked from cms/tibi-svelte-starter
56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# wmbasic-svelte-starter
|
|
|
|
Starter Kit für SPAs(s) `;)` mit Svelte und WMBasic-Backend ink. SSR
|
|
|
|
## Wozu?
|
|
|
|
Via Svelte wird eine SPA (Single-Page-App) programmiert. Dazu wird der Code einmal für den Browser aufgebreitet und außerdem für den Server kompiliert und transpiliert. Der Server-Code wird in einem WMBasic-API SSR-Hook (server side renering) eingebunden und generiert dort fertiges HTML anhand der aktuelle Route für SEO und optimierte Ladezeiten.
|
|
|
|
Die Navigation innerhalb der APP im Browser löst dagegen nur API-Aufrufe aus ohne jedesmal einen SSR-Prozess anzustoßen.
|
|
|
|
Um die SSR-Last so gering wie möglich zu halten, wurde ein Caching in der "ssr"-Collection der API implementiert.
|
|
## Toolchain
|
|
### Abhängigkeiten laden
|
|
|
|
```sh
|
|
yarn install
|
|
```
|
|
|
|
### Entwickeln mit dev-Webserver
|
|
|
|
```sh
|
|
yarn start
|
|
```
|
|
|
|
oder mit abweichender API für "/api"-Proxy
|
|
|
|
```sh
|
|
API_BASE=https://login.wmbasic.de/api/v1_/__NAMESPACE__ yarn start
|
|
```
|
|
|
|
### Entwickeln mit externem Webserver (z.B. vscode live server)
|
|
|
|
```sh
|
|
yarn dev
|
|
```
|
|
|
|
### Testen
|
|
|
|
```sh
|
|
yarn build:istanbul # instrumentiert Code für coverage-Report
|
|
yarn cy:docker:run # oder mit Xserver und UI cy:docker:open
|
|
```
|
|
|
|
### Bauen
|
|
|
|
```sh
|
|
# moderne Browser
|
|
yarn build
|
|
|
|
# alte Browser (IE11)
|
|
yarn build:legacy
|
|
|
|
# serverseitiges Rendering
|
|
yarn build:server
|
|
```
|