INTEGRITY Документация

Перенос с Netlify на Pages

В этом руководстве вы узнаете, как перенести приложение Netlify в Cloudflare Pages.

Как найти команду сборки и каталог сборки

Чтобы перенести приложение в Cloudflare Pages, определите команду сборки и каталог сборки. Эта информация нужна Cloudflare Pages для сборки и развёртывания приложения.

В Netlify Dashboard найдите проект, который нужно развернуть. Он должен быть настроен на развёртывание из репозитория GitHub.

Выбор сайта в Netlify Dashboard

На панели управления сайтом выберите Настройки сайта, а затем Сборка и развертывание.

Выбор Site Settings в панели управления сайтом Выбор Build and Deploy в боковой панели

В Сборка и развертывание вкладке найдите Настройки сборки панели, где будет Команда сборки и Каталог публикации поля. Сохраните их для развёртывания в Cloudflare Pages. На изображении ниже Команда сборки это yarn build, а также Каталог публикации это build/.

Где находятся поля Команда сборки и Каталог публикации

Перенос редиректов и заголовков

Если ваш сайт включает _redirects файл в каталоге публикации, тот же файл можно использовать в Cloudflare Pages, и перенаправления будут работать корректно. Если перенаправления заданы в netlify.toml файл, вам нужно будет добавить их в _redirects папка. В настоящее время Cloudflare Pages предлагает ограниченную поддержка расширенных редиректов. Если у вас более 2000 правил статических редиректов и (или) 100 правил динамических редиректов, рекомендуется использовать Bulk Redirects.

Файлы заголовков также можно перенести в _headers папке в каталоге публикации. Важно отметить, что пользовательские заголовки, заданные в _headers файла пока не применяются к ответам от функций, даже если маршрут функции совпадает с шаблоном URL. Подробнее о том, как об обработке заголовков см. Headers.

Формы

В компоненте формы удалите data-netlify = "true" атрибут или атрибут Netlify из <form> тег. Теперь вы можете разместить логику формы в виде Pages Function и собирать записи в базу данных или Airtable. См. обработка отправки форм с помощью Pages Functions учебное руководство, чтобы узнать больше.

Бессерверные функции

У Netlify functions и Pages Functions одинаковое соглашение об именовании файловой системы, использующее functions директория в корне проекта для обработки серверных функций. Однако синтаксис и способ развертывания функций отличаются. Pages Functions выполняются на Cloudflare Workers, которые по умолчанию работают в глобальной сети Cloudflare и не требуют дополнительного кода или настройки для развертывания.

Cloudflare Pages Functions также предоставляет промежуточное ПО, которое может выполнять любую логику до и/или после обработчика маршрута функции.

Синтаксис Functions

Netlify functions экспортируют асинхронный обработчик событий, который принимает event и context в качестве аргументов. В случае Pages Functions потребуется экспортировать единственную onRequest функция, которая принимает context объект. context объект содержит всю информацию о запросе, например request, env, params, и возвращает новый Response. Подробнее о написание первой функции

Hello World с функциями Netlify:

exports.handler = async function (event, context) {
	return {
		statusCode: 200,
		body: JSON.stringify({ message: "Hello World" }),
	};
};

Hello World с Pages Functions:

export async function onRequestPost(request) {
	return new Response(`Hello world`);
}

Другие конфигурации Netlify

Ваш netlify.toml файл может содержать и другие настройки, которые поддерживает Pages, например превью развёртываний, каталог публикации и плагины. После переноса настроек этот файл можно удалить.

Управление доступом

Управление доступом можно перенести в Cloudflare Zero Trust который позволяет управлять аутентификацией пользователей для ваших приложений, журналированием событий и запросами.

Создание нового проекта Pages

После того как вы определите каталог сборки и команду сборки, можно переносить проект в Cloudflare Pages.

Руководство по началу работы расскажет, как добавить ваш проект GitHub в Cloudflare Pages.

Если вы хотите использовать пользовательский домен для Pages, можно задать тот же домен, что и у уже развернутого приложения Netlify. Чтобы назначить пользовательский домен проекту Pages, ознакомьтесь с Custom Domains.

Очистка старого приложения и назначение домена

На панели управления Cloudflare перейдите к разделу DNS-записи страницу.

Перейдите в Записи ↗

Убедитесь, что вы обновили запись CNAME для вашего домена с Netlify на Cloudflare Pages. После обновления записи DNS запросы будут поступать в ваше приложение Pages.

В DNS, вашей записи Content должен быть вашим <SUBDOMAIN>.pages.dev поддомен.

Выполнив описанные выше шаги, вы успешно перенесли проект Netlify на Cloudflare Pages.