TypeScript

Strony mogą być plikami .ht.ts / .ht.tsx bez żadnej konfiguracji.

definePageModule

Pomocniki z sitelo/page dają pełne wnioskowanie typów. Podczas buildu import zostaje podmieniony na wygenerowany moduł dla danej trasy, którego PageParams biorą się z nazwy pliku: [slug] → { slug: string }, [...path] → { path: string[] }, [...path]? → { path?: string[] }.

import { html, body, h1 } from 'javascript-to-html'
import { definePageModule } from 'sitelo/page'

export default definePageModule({
  generateStaticParams: () => [{ slug: 'hello' }],
  data: ({ params }) => ({ title: params.slug }),
  render: ({ data }) =>
    html(
      body(h1(data.title))
    ),
})

Eksportowane są także: definePage, defineData, defineStaticParams.

Generowane typy

Deklaracje trafiają do .sitelo/types/ przy każdym uruchomieniu serwera deweloperskiego albo buildu. Dodaj ten katalog do .gitignore.