Адаптер Netlify Edge
Адаптер Qwik City Netlify Edge позволяет подключить Qwik City к Netlify Edge Functions.
Установка
Чтобы интегрировать адаптер netlify-edge в проект, используйте команду add:
npm run qwik add netlify-edgeОна автоматически установит необходимые зависимости, включая Netlify CLI.
Адаптер добавит новый файл vite.config.ts в каталог adapters/, и создаст файл точки входа, как показано ниже:
└── adapters/
└── netlify-edge/
└── vite.config.ts
└── src/
└── entry.netlify-edge.tsxКроме того, в package.json будут обновлены скрипты build.server и deploy.
Сборка для производственной среды
Чтобы собрать приложение для производственной среды, используйте команду build, эта команда автоматически запустит npm run build.server и npm run build.client:
npm run buildЧитайте полное руководство здесь
Развёртывание в среде разработки
Чтобы развернуть приложение для разработки:
npm run deployОбратите внимание, что для выполнения этого шага вам может понадобиться учётная запись Netlify!
Развёртывание в производственной среде
После установки интеграции с помощью npm run qwik add netlify-edge проект готов к развёртыванию в Netlify. Однако вам нужно будет создать репозиторий git и отправить в него код.
Пожалуйста, обратитесь к документации Netlify для получения дополнительных сведений о том, как развернуть ваш сайт: Документация Netlify.
Дополнительно
Промежуточное ПО Netlify Edge
При добавлении адаптера netlify-edge будет создан новый файл точки входа - src/entry.netlify-edge.tsx. Ниже приведен пример использования встроенного промежуточного программного обеспечения в файле точки входа.
import { createQwikCity } from '@builder.io/qwik-city/middleware/netlify-edge';
import qwikCityPlan from '@qwik-city-plan';
import render from './entry.ssr';
export default createQwikCity({ render, qwikCityPlan });Скомпилированный модуль будет собран в каталоге .netlify/edge-functions.
Объявление функций Netlify Edge
Объявление функций Netlify Edge может быть настроено на выполнение по опредёленным шаблонам URL. Каждое объявление функции ассоциирует один шаблон пути к сайту с одной функцией для выполнения запросов, соответствующей этому пути. Один запрос может выполнить цепочку функций из серии объявлений. Одна функция может быть связана с несколькими путями в различных объявлениях.
Это используется для определения того, должен ли ответ быть рендерен сервером (SSR) или вместо этого использовать статический файл index.html (SSG).
По умолчанию адаптер Netlify Edge генерирует файл .netlify/edge-middleware/manifest.json, который используется системой развёртывания Netlify для определения того, какие пути должны, а какие нет, использовать edge-функции.
Чтобы переопределить сгенерированный манифест, вы можете добавить объявление в netlify.toml с помощью секции конфигурации [[edge_functions]]. Например:
[[edge_functions]]
path = "/admin"
function = "auth"Контекст запроса Netlify
Netlify context доступен в параметре platform метода конечной точки:
export const onRequest = async ({ platform }) => {
platform.log('requested ip:', platform.ip);
};Переменные окружения
export const onRequest = async ({ env }) => {
platform.log('netlify serverless env read from Netlify UI or CLI', env.get('API_KEY'));
};