Интернет-магазин товаров для разработчиков на SvelteKit 2.5 со Svelte 5 runes.
npm install
npm run dev
Приложение будет доступно по адресу: http://localhost:3011
npm run build
npm start
Или вручную:
PORT=3011 node build
docker build -t sveltekit-catalog .
docker run -p 3011:3011 sveltekit-catalog
sveltekit-catalog/
├── src/
│ ├── lib/
│ │ ├── components/ # Компоненты
│ │ ├── stores/ # Svelte 5 stores
│ │ ├── types.ts
│ │ └── products.ts
│ ├── routes/
│ │ ├── catalog/
│ │ │ ├── +page.svelte
│ │ │ ├── +page.server.ts
│ │ │ └── [id]/
│ │ ├── +layout.svelte
│ │ └── +page.ts
│ ├── data/
│ │ └── products.json
│ └── app.html
└── svelte.config.js
Проект использует новые Svelte 5 runes для реактивности:
$state — для реактивного состояния$derived — для вычисляемых значений$props — для пропсов компонентовclass CartStore {
items = $state<CartItem[]>([]);
get total() {
return this.items.reduce(...);
}
addItem(id, name, price) {
// ...
}
}