0Pricing
Sveltejs Academy · Урок

Хук init()

Выполняйте однократную инициализацию сервера при запуске сервера SvelteKit

«Хук init()» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.

Назначение init

Перехватчик init выполняется один раз при запуске сервера SvelteKit, до обработки первого запроса.

Экспорт init

Из hooks.server.js.

export async function init() {
  await connectDb();
  console.log("Server ready");
}

Одноразовая настройка

Здесь можно инициализировать базы данных, прогреть кэши или загрузить конфигурацию.

Асинхронность разрешена

SvelteKit ожидает завершения init, прежде чем начать обслуживать запросы.

Сбои блокируют запуск

Если init вызывает исключение, сервер не запускается. Считайте критически важную инициализацию фатальной ошибкой.

Сравнение с кодом на уровне модуля

Код на верхнем уровне модуля выполняется во время импорта, а init — при запуске сервера и поддерживает await.

Поведение адаптера

Бессерверные адаптеры могут выполнять init один раз при каждом холодном запуске, а не один раз при запуске приложения.

Совместное использование состояния

Храните инициализированные ресурсы в области видимости модуля и импортируйте их в маршруты.

Избегайте тяжёлой работы

Медленная инициализация задерживает ответ на первый запрос. Сделайте её компактной или используйте отложенную инициализацию.

Журналирование

Записывайте версию, окружение и состояние готовности, чтобы отслеживать запуск контейнеров.

Варианты использования

Пулы подключений к базам данных, прогретые кэши в памяти, регистрация перехватчиков телеметрии.

Быстрая проверка

Когда выполняется init?

Итоги

init выполняется один раз при запуске сервера. Здесь инициализируйте базы данных, кэши и одноразовые ресурсы.

Часто задаваемые вопросы

Урок «Хук init()» бесплатный?

Да — полный текст урока «Хук init()» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.

Чему я научусь в уроке «Хук init()»?

Выполняйте однократную инициализацию сервера при запуске сервера SvelteKit Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Sveltejs Academy?

Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Хук init()»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Sveltejs Academy?

Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Хук handle(): промежуточное ПО для запросов
  2. handleError для журналирования ошибок сервера
  3. Хук init()
  4. Sequence() для объединения хуков
← Назад к Sveltejs Academy