2022-02-26 11:09:53 +01:00
# tibi-starter
2021-03-22 13:24:57 +01:00
2022-02-26 11:09:53 +01:00
Starter Kit für SPAs(s) `;)` mit Svelte und TibiCMS inkl. SSR
2021-03-30 17:45:09 +02:00
## Wozu?
2022-02-26 11:09:53 +01:00
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 tibi-server SSR-Hook (server side rendering) eingebunden und generiert dort fertiges HTML anhand der aktuelle Route für SEO und optimierte Ladezeiten.
2021-03-30 17:45:09 +02:00
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.
2022-09-15 17:56:54 +02:00
2021-03-30 17:45:09 +02:00
## Toolchain
2022-09-15 17:56:54 +02:00
### git
nach `git clone ...`
```sh
git lfs install
git lfs pull
```
2021-03-30 17:45:09 +02:00
### Abhängigkeiten laden
```sh
yarn install
```
2021-09-14 14:45:47 +02:00
### Entwickeln mit dev-Webserver
```sh
yarn start
```
oder mit abweichender API für "/api"-Proxy
```sh
2022-02-26 11:09:53 +01:00
API_BASE=https://login.tibicms.de/api/v1_/__NAMESPACE__ yarn start
2021-09-14 14:45:47 +02:00
```
### Entwickeln mit externem Webserver (z.B. vscode live server)
2021-03-30 17:45:09 +02:00
```sh
yarn dev
```
2022-09-15 17:56:54 +02:00
### Entwickeln auf dem Code-Server mit Docker Compose Stack
```
yarn docker:start
```
2021-09-14 14:45:47 +02:00
### Testen
```sh
yarn build:istanbul # instrumentiert Code für coverage-Report
yarn cy:docker:run # oder mit Xserver und UI cy:docker:open
```
2021-03-30 17:45:09 +02:00
### Bauen
```sh
# moderne Browser
yarn build
# alte Browser (IE11)
yarn build:legacy
# serverseitiges Rendering
yarn build:server
```