Виктор Орлов
Руководство по развертыванию приложений в Nuxt Cloud
Введение
Сегодня Nuxt.js стал одним из самых популярных инструментов для создания мощных и производительных web-приложений на базе Vue. Вместе с этим, команда разработчиков Nuxt создала собственное облачное решение — Nuxt Cloud — оптимизированную платформу для развертывания, масштабирования и обслуживания приложений на Nuxt. Nuxt Cloud предлагает простой, но гибкий опыт деплоя с минимальными ручными действиями, продвинутой поддержкой сервер-сайд рендеринга и возможностью быстрого выхода в продакшн.
Это руководство описывает пошаговый процесс развертывания вашего Nuxt-приложения в Nuxt Cloud, включая подготовку проекта, работу с переменными окружения, безопасным хранилищем секретов, предварительным просмотром изменений и подключением собственного домена. Я поделюсь примерами кода, полезными советами и методиками, которые помогут вам без лишних хлопот перевести ваш проект в облако.
Регистрация и подготовка Nuxt Cloud
Регистрация аккаунта в Nuxt Cloud
Перед тем как приступить к публикации вашего приложения, вам потребуется зарегистрироваться на платформе Nuxt Cloud. Платформа интегрируется с популярными репозиториями кода (например, GitHub), что значительно упрощает процесс деплоя.
- Перейдите на официальный сайт Nuxt Cloud.
- Кликните Sign Up, выберите способ — обычно через GitHub или Google.
- Завершите регистрацию, подтвердите email и выполните вход.
Создание нового проекта
После регистрации первый шаг — создание проекта:
- На главной панели нажмите New Project.
- Автоматически будет предложено подключить репозиторий (например, из GitHub).
- При необходимости, разрешите Nuxt Cloud доступ к вашему аккаунту в GitHub, выберите нужный репозиторий с Nuxt-приложением.
- Укажите название проекта; при необходимости можно также дать краткое описание.
Смотрите, на этом этапе больше ничего делать не надо — Nuxt Cloud сам определит, что у вас проект на Nuxt, и предложит стандартные параметры сборки.
Поддерживаемые версии Nuxt и минимальные требования
Nuxt Cloud работает с последними версиями Nuxt (3.x и выше). Для базового деплоя достаточно Node.js >= 18 и стандартной структуры проекта Nuxt.
Обратите внимание: если используется нестандартная структура папок (например, директории /src
вместо /pages
), проверьте настройки сборки или укажите необходимые параметры вручную в настройках проекта.
Nuxt Cloud — это удобная платформа для развертывания и хостинга Nuxt-приложений. Она предоставляет множество полезных функций, таких как автоматическая сборка, развертывание и мониторинг приложений. Умение развертывать приложения в Nuxt Cloud — это важный навык для любого Nuxt-разработчика. Если вы хотите детальнее погрузиться в мир Nuxt, освоить все его тонкости и стать настоящим профессионалом — приходите на наш большой курс Nuxt - fullstack Vue фреймворк. На курсе 129 уроков и 13 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Настройка деплоя и переменных окружения
Автоматический деплой из репозитория
Nuxt Cloud интегрируется с системой контроля версий — обычно это GitHub. Каждый push в основную ветку (или другую выбранную ветку) автоматически запускает процесс сборки и деплоя.
Чтобы это работало:
- В вашем репозитории должен быть файл
nuxt.config.ts
илиnuxt.config.js
- Ветка для деплоя должна быть указана в настройках проекта Nuxt Cloud (по умолчанию часто используется
main
илиmaster
) - Если ваш проект приватный, убедитесь, что у Nuxt Cloud есть права на чтение этого репозитория
Работа с переменными окружения
Все современные облака, включая Nuxt Cloud, используют переменные окружения для передачи секретных ключей и настроек (например, API-ключей или урлов подключения к базе данных).
Чтобы добавить или изменить переменные:
- Перейдите в настройки вашего проекта на Nuxt Cloud.
- Найдите секцию Environment Variables.
- Здесь можно добавить переменные окружения (например,
NUXT_API_URL
,NUXT_SECRET_KEY
).
Вот пример — добавим переменную для урла API:
NUXT_PUBLIC_API_URL=https://api.example.com
Важно: Используйте префикс
NUXT_PUBLIC_
для переменных, которые должны быть доступны на клиенте, остальные (например, пароли) оставляйте без этого префикса — такие переменные попадут только на серверную часть Nuxt.
В Nuxt 3 и выше все переменные можно получать так:
// Получение переменной окружения на сервере
const secret = useRuntimeConfig().secretKey
// Получение публичной переменной на клиенте
const apiUrl = useRuntimeConfig().public.apiUrl
Комментарии помогут разобраться, как получить эти значения внутри любого компонента или обработчика.
Использование секретного хранилища
Помимо переменных окружения, Nuxt Cloud поддерживает безопасное хранение секретов (например, токенов или приватных ключей). Их можно добавлять вручную и настраивать уровни доступа.
Как это реализовано:
- В Nuxt Cloud добавьте ключ в раздел Secrets
- В коде получайте их точно так же, как и обычные переменные, но без префикса
NUXT_PUBLIC_
Пример:
// Получение секретного ключа из хранилища
const token = useRuntimeConfig().mySecretToken
Сборка и деплой Nuxt-приложения
Стандартный процесс деплоя
Каждый раз, когда вы делаете push в выбранную ветку репозитория, Nuxt Cloud автоматически инициирует новый деплой. Система сама:
- Скачивает последний код из вашего репозитория
- Выполняет команду
npm install
илиyarn install
(определяет автоматически) - Собирает продакшн-версию приложения (
nuxi build
) - Публикует приложение в облако с выставлением красивого адреса по умолчанию (например,
myproject.cloud.nuxt.com
)
Процесс выглядит так:
- Коммит и push кода:
shell git add . git commit -m "Добавил новую страницу" git push origin main
- Nuxt Cloud автоматически начинает процесс сборки (можно видеть статус деплоя в веб-интерфейсе).
- После успешной сборки приложение доступно через выданный домен.
Конфигурация процесса сборки
По умолчанию Nuxt Cloud определяет команды сборки автоматически, но вы можете изменить настройки в разделе Build & Deploy:
- Изменить ветку-источник для деплоя
- Задать свои кастомные команды для сборки, тестирования или публикации (например, выполнить линтер)
Покажу пример кастомной команды сборки:
# Стандартная команда
nuxi build
# Можно дополнить своим скриптом в package.json
npm run lint && nuxi build
Это полезно, если вы хотите перед деплоем выполнить дополнительные проверки.
Работа с preview-окружениями
Nuxt Cloud поддерживает preview-окружения для веток и pull request’ов. Значит, каждое изменение, которое вы отправите на ревью или создадите из новой ветки, будет собрано в отдельном "предварительном" деплое.
Применение:
- Работая в ветке
feature/new-design
, вы получите окружение типаfeature-new-design.cloud.nuxt.com
- Это позволяет команде тестировать нововведения без затрагивания основного продакшн-приложения
Подключение собственного домена
Пошаговая инструкция по подключению домена
Обычно стандартного облачного адреса достаточно для тестирования, но для реального продукта часто требуется использовать собственный домен.
- Перейдите в настройки вашего проекта в Nuxt Cloud
- Найдите раздел Domains
- Нажмите Add Domain и впишите ваш домен, например,
example.com
- Nuxt Cloud предложит вам специальные значения для DNS-записей (обычно A-записи или CNAME)
- Пропишите эти записи у вашего DNS-провайдера
Пример: если платформа выдала A-запись с адресом 123.45.67.89
, добавьте такую запись в ваш DNS:
@ IN A 123.45.67.89
- Ожидайте до 24 часов для обновления DNS (чаще — значительно быстрее)
Nuxt Cloud автоматически установит SSL-сертификат через Let's Encrypt для вашего домена.
Если у вас subdomain (например,
app.example.com
), действия аналогичны, просто добавьте нужную запись для этого поддомена.
Применение настройки HTTPS и редиректов
Все приложения на Nuxt Cloud работают по HTTPS "из коробки" после подключения домена. Также можно задать автоматические редиректы в настройках самой платформы (например, с HTTP на HTTPS или с www на non-www).
Мониторинг, логирование и CI/CD
Возможности мониторинга
Nuxt Cloud предоставляет базовое логирование прямо в веб-интерфейсе: после деплоя вы можете посмотреть логи сервера (stdout/stderr) за последние деплой-циклы. Это позволяет быстро понять, какие ошибки возникают на сервере или при сборке.
Для просмотра логов:
- Откройте вкладку Deploys
- Выберите нужный деплой и кликните View Logs
Здесь вы найдете стандартные серверные логи, в том числе сообщения, которые приходят чeрез console.log
или console.error
.
Интеграция с внешними CI/CD
Если в команде используются свои пайплайны CI/CD (например, GitHub Actions), вы легко можете интегрировать их с Nuxt Cloud. Для этого вы можете:
- На этапе CI выполнять автоматические тесты, линтинг, проверку формата
- После успешной проверки запускать деплой через push в ветку репозитория (Nuxt Cloud автоматически подхватит изменения)
Пример простого workflow для GitHub Actions:
name: Deploy Nuxt to Nuxt Cloud
on:
push:
branches: [main]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: npm install
- name: Run tests
run: npm run test
- name: Push changes
run: git push
Такой подход гарантирует, что деплой произойдет только если тесты прошли успешно.
Интеграция с внешними сервисами
Настройка внешних API и баз данных
В большинстве случаев ваше Nuxt-приложение общается с внешними сервисами и БД — сюда относится как REST API, так и headless CMS, storage-решения, очереди сообщений и многое другое.
Чтобы подключить внешний сервис:
- Получите его URL и, возможно, секретные ключи доступа
- Добавьте необходимые переменные окружения в Nuxt Cloud
- Проверьте, что эти переменные корректно используются в коде
Пример переменных для подключения к PostgreSQL:
DATABASE_URL=postgres://user:password@host:5432/mydb
// В файле nuxt.config.ts для серверных функций
export default defineNuxtConfig({
runtimeConfig: {
databaseUrl: process.env.DATABASE_URL,
public: {
apiUrl: process.env.NUXT_PUBLIC_API_URL
}
}
})
Важно: Никогда не делайте приватный ключ доступа публичным (не добавляйте в
public
секцию конфига).
Использование хранилищ данных и кэширования
Nuxt Cloud предоставляет простую интеграцию с Vercel Storage, PlanetScale и другими партнёрами (это облачные базы данных, storage и серверныеless-функции). Посмотрите Marketplace и список интеграций внутри платформы.
Возможности масштабирования и преимущества Nuxt Cloud
Легкое масштабирование нагрузки
С помощью Nuxt Cloud не нужно заботиться о серверах, балансировке и резервировании ресурсов: платформа автоматически масштабирует приложение в зависимости от трафика без простоя и ручных настроек.
Актуальные фичи Nuxt Cloud
- Защищающая инъекций система переменных окружения
- Холодный старт минимален (серверныеless-архитектура)
- Инструменты анализа производительности (в режиме A/B тестирования)
- Отличная интеграция с экосистемой Nuxt и Vue (отправка сообщений через интерфейс, деплой новых страниц без рестарта и др.)
Заключение
Nuxt Cloud — это удобное, мощное решение, которое в максимальной степени автоматизирует процесс деплоя ваших Nuxt-приложений. Минимум ручных настроек, быстрая интеграция с репозиториями и сервисами, дружественный интерфейс для управления переменными окружения и секретами делают платформу отличным выбором как для небольших стартапов, так и для промышленных приложений. Использование Nuxt Cloud позволяет сосредоточиться на логике приложения и не тратить время на инфраструктуру.
Развертывание приложений в Nuxt Cloud — это лишь один из этапов жизненного цикла веб-приложения. Чтобы создавать успешные и масштабируемые приложения, необходимо также освоить множество других навыков, таких как разработка архитектуры, оптимизация производительности, тестирование и мониторинг. На курсе Nuxt - fullstack Vue фреймворк вы получите комплексные знания и практический опыт, необходимые для создания профессиональных веб-приложений на Nuxt. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир Nuxt прямо сегодня.
Частозадаваемые технические вопросы по теме статьи и ответы на них
Как задать кастомную папку для билда, если проект не в корне репозитория?
В настройках вашего проекта на Nuxt Cloud найдите раздел Build & Deploy и используйте параметр Base Directory. Укажите относительный путь до вашей папки приложения (например, frontend/
). Nuxt Cloud будет собирать проект, начиная с этой директории.
Можно ли использовать приватные NPM-пакеты при деплое?
Да, для этого зайдите в Environment Variables и добавьте переменную окружения NPM_TOKEN
с вашим токеном. Nuxt Cloud автоматически использует его для установки приватных зависимостей.
Как ограничить доступ к приложению (например, по IP или с помощью базовой аутентификации)?
На уровне платформы Nuxt Cloud базовая аутентификация или IP-фильтры реализованы через middleware (например, дополнительный серверный код в server/middleware/
). Настройте проверку JWT или HTTP-заголовков внутри Nuxt самостоятельно.
Где смотреть ошибки, если деплой не удался?
Откройте раздел Deploys → выберите проблемный деплой → View Logs. Здесь вы увидите весь вывод сборки и сможете понять, на каком шаге возникла ошибка.
Можно ли деплоить монорепозитории с несколькими Nuxt-приложениями?
Да, подключите каждый отдельный проект монорепозитория как самостоятельный деплой-проект в Nuxt Cloud, указав для каждого свой Base Directory или субпапку.
Постройте личный план изучения Nuxt до уровня Middle — бесплатно!
Nuxt — часть карты развития Frontend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Nuxt
Лучшие курсы по теме

Nuxt
Антон Ларичев
TypeScript с нуля
Антон Ларичев