Промежуточное ПО для Node
Промежуточное ПО Qwik City Node позволяет подключить Qwik City к серверу Node.js, который использует функциональность общего промежуточного ПО. Некоторые серверы Node включают:
Установка
Чтобы интегрировать адаптер node, используйте команду add:
- Для Express:
npm run qwik add express- Для Fastify
npm run qwik add fastifyСборка для производственной среды
Чтобы собрать приложение для производственной среды, используйте команду build, эта команда автоматически запустит npm run build.server и npm run build.client:
npm run buildДля разработки
Чтобы развернуть приложение для разработки:
npm run serveРазвёртывание в производственной среде
Поскольку вы выбрали Node, вы находитесь в собственной среде после запуска npm run build:
- Будет создана папка
distсо всеми статическими файлами; - Будет создана папка
server, включающая все файлы сервера.
Чтобы развернуть сервер, вам нужно запустить файл server/entry.[server].js на сервере по вашему выбору, где [server] может быть express или fastify.
Очень важно правильно настроить переменную окружения ORIGIN, которая используется для проверки против CSRF-атак. ORIGIN должен совпадать с ORIGIN клиентского приложения.
Например, если вы планируете развернуть своё приложение на
https://example.com/app, то вам нужно установить переменную окруженияORIGINнаhttps://example.com.ORIGIN=https://example.com node server/entry.express
Вы можете посмотреть как развернуть проект с помощью Docker здесь.
Защита от CSRF
По умолчанию все приложения Qwik City защищены от CSRF-атак для всех POST-, PATCH-, DELETE-отправок форм.
Эта защита включена по умолчанию, и это та причина, по которой вам необходимо установить переменную окружения ORIGIN при развёртывании вашего приложения для производства.
Если вы хотите отключить защиту от CSRF, вы можете установить checkOrigin: false в опциях createQwikCity() в src/entry.preview.tsx или src/entry.[server].tsx:
// ...
const { router, notFound, staticFile } = createQwikCity({
render,
qwikCityPlan,
manifest,
checkOrigin: false,
});
// ...