+page.server.js для логики только на сервере
Храните секреты и выполняйте обращения к базе данных на сервере с помощью +page.server.js
«+page.server.js для логики только на сервере» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Зачем нужен режим только сервера
Некоторые данные должны оставаться на сервере: обращения к базе данных, секретные ключи программных интерфейсов и доступ к файловой системе.
Имя файла
Используйте +page.server.js вместо +page.js.
Тот же интерфейс
Экспортируйте load так же, как в +page.js. SvelteKit знает, что этот код предназначен только для сервера.
import { db } from "$lib/server/db";
export async function load({ params }) {
const post = await db.posts.find(params.slug);
return { post };
}Исключение из клиентской сборки
Файл и его импорты исключаются из клиентских сборок. Секреты остаются в безопасности.
Переменные окружения
Используйте $env/static/private для секретов, которые должны быть доступны только на сервере.
import { DB_URL } from "$env/static/private";Подключения к базе данных
Инициализируйте клиентов базы данных в модулях $lib/server, чтобы они никогда не попадали на клиент.
Сочетание с +page.js
Если существуют оба файла, сначала выполняется серверная загрузка, а затем её результат передаётся универсальной загрузке.
Действия формы
В файлах только для сервера также размещаются обработчики действий формы (в следующем курсе).
Аутентификация
Здесь можно читать файлы cookie и сведения о сеансе. Устанавливайте заголовки через вспомогательный объект cookies.
Производительность
Серверная загрузка выполняется при каждом запросе; грамотно используйте кэширование HTTP или мемоизацию.
Типобезопасность
Типы серверной загрузки автоматически передаются странице через ./$types.
Быстрая проверка
Где выполняется код файла +page.server.js?
Повторение
Используйте +page.server.js для логики, предназначенной только для сервера. Этот файл исключается из клиентской сборки.
Изучай HTML с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 41
- Уроки
- 163
Часто задаваемые вопросы
Урок «+page.server.js для логики только на сервере» бесплатный?
Да — полный текст урока «+page.server.js для логики только на сервере» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «+page.server.js для логики только на сервере»?
Храните секреты и выполняйте обращения к базе данных на сервере с помощью +page.server.js Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «+page.server.js для логики только на сервере»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Функция загрузки +page.js
- Возврат данных и использование $page.data
- Обработка ошибок в загрузке
- +page.server.js для логики только на сервере