← Cloudflare Pages / pages / migrations
Перенос с Netlify на Pages
В этом руководстве вы узнаете, как перенести приложение Netlify в Cloudflare Pages.
Как найти команду сборки и каталог сборки
Чтобы перенести приложение в Cloudflare Pages, определите команду сборки и каталог сборки. Эта информация нужна Cloudflare Pages для сборки и развёртывания приложения.
В Netlify Dashboard найдите проект, который нужно развернуть. Он должен быть настроен на развёртывание из репозитория GitHub.
На панели управления сайтом выберите Настройки сайта, а затем Сборка и развертывание.
В Сборка и развертывание вкладке найдите Настройки сборки панели, где будет Команда сборки и Каталог публикации поля. Сохраните их для развёртывания в 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.