Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Адаптеры и публикация

Чтобы сайт заработал не только у вас на компьютере, проект собирают командой npm run build. Результат зависит от того, где сайт будет работать: на сервере с Node.js, на облачной платформе или как набор статических файлов. Под каждую площадку есть адаптер (adapter) — пакет, который превращает сборку SvelteKit в нужный формат.

Адаптер по умолчанию

Проект из sv уже настроен на adapter-auto:

// svelte.config.js
import adapter from '@sveltejs/adapter-auto';
 
const config = {
  kit: {
    adapter: adapter()
  }
};
 
export default config;

adapter-auto сам определяет популярные площадки — Vercel, Netlify, Cloudflare — и подключает нужный адаптер при сборке на них. Для своего сервера адаптер выбирают явно.

Свой сервер: adapter-node

Установите адаптер:

npm install -D @sveltejs/adapter-node

И замените импорт в настройках:

// svelte.config.js
import adapter from '@sveltejs/adapter-node';
 
const config = {
  kit: {
    adapter: adapter()
  }
};
 
export default config;

Теперь соберите и запустите проект:

npm run build
node build

Сборка появится в папке build, а команда node build запустит сервер. В терминале будет адрес — по умолчанию http://localhost:3000, и блог откроется вместе с формами и API. Порт меняют переменной окружения: PORT=8080 node build.

Статический сайт: adapter-static

Если у сайта нет серверной части — ни действий форм, ни +server.js, — его можно собрать в обычные HTML-файлы и положить на любой хостинг:

npm install -D @sveltejs/adapter-static

В svelte.config.js импортируйте @sveltejs/adapter-static, а в корневом макете включите предварительную отрисовку всех страниц:

// src/routes/+layout.js
export const prerender = true;

После npm run build в папке build окажутся готовые HTML-файлы для каждой страницы.

Какой адаптер выбрать

Где работает сайтАдаптер
Vercel, Netlify, Cloudflareadapter-auto (или адаптер площадки)
свой сервер или Dockeradapter-node
статический хостингadapter-static

Перед публикацией проверьте сборку локально: npm run preview запускает собранную версию.

Частая ошибка

Выбрать adapter-static для блога с формами и API. Действия из +page.server.js и файлы +server.js требуют работающего сервера, а статический сайт — это только файлы. Сборка остановится с ошибкой о страницах, которые нельзя отрисовать заранее. Для такого сайта нужен adapter-node или адаптер облачной площадки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.