← Cloudflare Workers / workers / get-started
CLI
Настройте и разверните свой первый Worker с помощью Wrangler, интерфейса командной строки Cloudflare Developer Platform.
Это руководство проведёт вас через настройку и развёртывание вашего первого Worker.
Предварительные требования
- Зарегистрируйтесь для получения Аккаунт Cloudflare ↗.
- Установка
Node.js↗.
менеджер версий Node.js
Используйте менеджер версий Node, например Volta ↗ или nvm ↗ чтобы избежать проблем с правами доступа и переключать версии Node.js. Wrangler, о котором пойдёт речь далее в этом руководстве, требует версию Node 16.17.0 или более поздней версии.
1. Создайте новый проект Worker
Откройте окно терминала и запустите C3, чтобы создать проект Worker. C3 (create-cloudflare-cli) ↗ это инструмент командной строки, который помогает настраивать и развёртывать новые приложения в Cloudflare.
npm create cloudflare@latest -- my-first-workerДля настройки выберите следующие параметры:
- Для С чего вы хотите начать?, выберите
Hello World example. - Для Какой шаблон вы хотите использовать?, выберите
Worker only. - Для Какой язык вы хотите использовать?, выберите
JavaScript. - Для Хотите использовать git для контроля версий?, выберите
Yes. - Для Хотите развернуть приложение?, выберите
No(мы внесём некоторые изменения перед развёртыванием).
Теперь у вас настроен новый проект. Перейдите в папку этого проекта.
cd my-first-workerКакие файлы создал C3?
В каталоге проекта C3 сгенерирует следующее:
wrangler.jsonc: Ваш Wrangler файл конфигурации.index.js(в/src): минимальный'Hello World!'Worker, написанный на ES module синтаксис.package.json: Минимальный файл конфигурации зависимостей Node.package-lock.json: См.npmдокументацию оpackage-lock.json↗.node_modules: См.npmдокументацияnode_modules↗.
Что делать, если у меня уже есть проект в git-репозитории?
Помимо создания новых проектов из шаблонов C3, C3 также поддерживает создание проектов из существующих репозиториев Git. Чтобы создать новый проект из существующего репозитория Git, откройте терминал и выполните:
npm create cloudflare@latest -- --template <SOURCE><SOURCE> может быть любым из следующего:
user/repo(GitHub)[email protected]:user/repohttps://github.com/user/repouser/repo/some-template(подкаталоги)user/repo#canary(ветки)user/repo#1234abcd(хеш коммита)bitbucket:user/repo(Bitbucket)gitlab:user/repo(GitLab)
Ваша существующая папка шаблона должна как минимум содержать следующие файлы, чтобы соответствовать требованиям Cloudflare Workers:
package.jsonwrangler.jsoncСм. пример конфигурации Wranglersrc/содержащий скрипт worker, на который есть ссылка изwrangler.jsonc
2. Разработка с помощью Wrangler CLI
C3 устанавливает Wrangler, интерфейс командной строки Workers, по умолчанию в проектах Workers. Wrangler позволяет вам создать, тест, а также deploy ваших проектов Workers.
После создания первого Worker выполните wrangler dev команду в каталоге проекта, чтобы запустить локальный сервер для разработки Worker. Это позволит вам просматривать Worker локально в процессе разработки.
npx wrangler devЕсли вы еще ни разу не использовали Wrangler, он откроет веб-браузер, чтобы вы могли войти в свой аккаунт Cloudflare.
Перейдите в http://localhost:8787 ↗ чтобы посмотреть ваш Worker.
Проблемы с браузером?
Если на этом шаге возникли проблемы или у вас нет доступа к браузерному интерфейсу, обратитесь к wrangler login документация.
3. Написание кода
После создания и запуска нового проекта можно приступать к написанию и редактированию кода.
Найдите src/index.js файле. index.js будет заполнен приведённым ниже кодом:
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};Объяснение кода
Этот блок кода состоит из нескольких частей.
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};export default это синтаксис JavaScript, необходимый для определения Модули JavaScript ↗. У Worker должен быть экспорт по умолчанию: объект, свойства которого соответствуют событиям, которые этот Worker должен обрабатывать.
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};Это fetch() обработчик вызывается, когда ваш Worker получает HTTP-запрос. Вы можете определить дополнительные обработчики событий в экспортируемом объекте, чтобы реагировать на разные типы событий. Например, добавьте scheduled() обработчик для ответа на вызовы Worker через Cron Trigger.
Кроме того, fetch обработчику всегда передаются три параметра: request, env и context.
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};Среда выполнения Workers ожидает fetch обработчикам возвращать Response объект или Promise, разрешающийся в Response объект. В этом примере вы вернёте новый Response со строкой "Hello World!".
Замените содержимое текущего index.js файл приведённым ниже содержимым, которое изменяет текстовый вывод.
export default {
async fetch(request, env, ctx) {
return new Response("Hello Worker!");
},
};Затем сохраните файл и обновите страницу. Вывод вашего Worker изменится на новый текст.
Не видите изменений?
Если вывод вашего Worker не меняется, убедитесь, что:
- Вы сохранили изменения в
index.js. - У вас есть
wrangler devзапущен. - Вы перезагрузили браузер.
4. Разверните проект
Разверните ваш Worker через Wrangler в *.workers.dev поддомен или Custom Domain.
npx wrangler deployЕсли у вас не настроены ни поддомен, ни домен, во время публикации Wrangler предложит вам их настроить.
Откройте предпросмотр Worker по адресу <YOUR_WORKER>.<YOUR_SUBDOMAIN>.workers.dev.
Получаете ошибки 523?
Если вы видите 523 ошибки при отправке вашего *.workers.dev поддомен впервые, подождите примерно минуту, и ошибки исчезнут сами собой.
Следующие шаги
Что ещё можно сделать:
- Отправьте проект в репозиторий GitHub или GitLab, а затем подключение к сборкам чтобы включить автоматические сборки и развертывания.
- Перейдите в Панель управления Cloudflare ↗ для более простого редактирования.
- Ознакомьтесь с нашим Примеры и Руководства для вдохновения.
- Настройка привязки чтобы ваш Worker мог взаимодействовать с другими ресурсами и получить доступ к новым функциям.
- Узнайте, как тестирование и отладка ваших Workers.
- Прочитайте о лимиты и цены Workers.