Bolt пишет ваш проект в браузере и публикует его на собственном хостинге Bolt Cloud. Чтобы опубликовать тот же проект в Ai to App, достаточно zip-файла, который скачивает Bolt. Перед загрузкой посмотрите, к какому типу относится проект: в одном и том же чате Bolt может создать и сайт, и серверное приложение, и мобильное приложение.
Скачайте zip из Bolt
- Откройте проект в Bolt.
- Нажмите на название проекта в левом верхнем углу и выберите Download в открывшемся меню.
- Сохраните скачанный zip, не распаковывая его; именно этот файл вы загрузите в Ai to App.
Если вы подключили проект к GitHub, его можно также скачать из репозитория через Code → Download ZIP. Кнопка Export project first, которая появляется при удалении проекта в Bolt, тоже скачивает этот же zip.
Что происходит в зависимости от типа проекта
Распакуйте zip и посмотрите зависимости в файле package.json. По ним Ai to App определяет тип:
| Что вы видите в зависимостях | В Ai to App | Что делаете вы |
|---|---|---|
vite (по умолчанию в Bolt) | Сайт. Собирается на сервере, публикуется полученная папка dist. | Загрузите zip как есть. |
next | Серверное приложение. Собирается командой next build, работает через next start. | Загрузите zip как есть. |
astro | Сайт. Собирается, публикуется dist. | Загрузите zip как есть. |
Серверные пакеты, например express, hono | Серверное приложение. | Скрипт start должен запускать продакшн-сервер. |
expo | Мобильное приложение; в вебе как есть не публикуется. | Выполните на компьютере npx expo export --platform web и упакуйте в zip содержимое созданной папки dist. |
Перетащите zip в поле на главной странице. Предварительная проверка покажет тип и недостающее без регистрации.
Bolt Database и настройки входа
База данных Bolt остаётся в Bolt Cloud; ваше приложение подключается к ней и тогда, когда работает в Ai to App. Перенести нужно только настройки подключения и входа.
- Значения подключения
- В проекте с Bolt Database или Supabase адрес и ключ базы данных находятся в файле
.env. Значения с префиксомVITE_Ai to App сам передаёт в сборку; значения без префикса введите на странице «Мои приложения» в окне «Переменные окружения» на карточке приложения. - Server functions и Secrets
- Server functions Bolt и секретные ключи, которые они используют, работают на стороне базы данных и в zip не попадают. Отдельно задавать их в Ai to App не нужно.
- Перенаправление при входе
- В Bolt нажмите на значок базы данных вверху по центру, откройте вкладку Authentication, в разделе Advanced впишите
https://your-project.aitoapp.comв поле Site URL и добавьтеhttps://your-project.aitoapp.com/**в URI allow list. Bolt обновляет эти поля только для своего адреса публикации; если их не добавить, ссылки для подтверждения и сброса пароля будут вести наlocalhost:3000. - Перенос базы данных в свой аккаунт
- Если вы будете пользоваться приложением долго, перенесите базу данных в свой аккаунт Supabase: значок базы данных → Advanced → Claim. Для этого шага в Bolt нужен тариф Pro или Teams.
Частые проблемы
Если в консоли сказано, что не хватает адреса Supabase, в zip нет .env. Скопируйте значения из файла .env в Bolt, введите их в панели и нажмите «Сохранить и опубликовать заново».
В Bolt скрипт dev может запускать их вместе; после публикации нужен один start. Сервер должен отдавать и собранный интерфейс; это изменение можно поручить Bolt.
В Site URL всё ещё стоит значение Bolt по умолчанию. Выполните шаг «Перенаправление при входе».
Мобильное приложение загружено вместе с исходным кодом. Сначала соберите веб-версию и упакуйте в zip только содержимое папки dist.
Следующие версии
Внесите изменения в Bolt, скачайте zip заново и загрузите его с карточки того же приложения. Адрес останется прежним. Публикация в Bolt Cloud и публикация в Ai to App — это отдельные копии; если хотите, чтобы обе были актуальными, публикуйте обе после каждого изменения.
