Хостинг статики
После того как вы запустили мини-приложение внутри ВКонтакте, получите постоянную ссылку на него.
Чтобы мини-приложение работало автономно, разместите его на хостинге. Мы создали библиотеку vk-miniapps-deploy
, чтобы вы могли воспользоваться нашим хостингом.
Использование
Деплой на хостинг статики возможен не более 24 раз в сутки.
Проект мини-приложения из шаблона
- 1.
- 2.
Перейдите к папке проекта мини-приложения:
Shellcd <ПУТЬ_К_МИНИ_ПРИЛОЖЕНИЮ>
- 3.
Установите библиотеку:
Shellnpm install @vkontakte/vk-miniapps-deploy --include=dev
- 4.
Откройте файл
vk-hosting-config.json
в папке проекта. В полеapp_id
замените0
на идентификатор вашего мини-приложения, который вы получили при регистрации. Сохраните изменения.JSON{ "static_path": "build", "app_id": 51405499, "endpoints": { "mobile": "index.html", "mvk": "index.html", "web": "index.html" } }
- 5.
Разверните мини-приложение:
Shellnpm run deploy
Перед деплоем автоматически выполнится команда
npm run build
, соберётся проект, а в каталоге проекта появится файлbuild.zip
и каталогbuild
. - 6.
Согласитесь на настройки по умолчанию: введите Y/y или нажмите Enter.
- 7.
В командной строке вы получите ссылку вида:
https://oauth.vk.com/code_auth?stage=check&code=1c2d2bd
. Откройте её в браузере, чтобы пройти аутентификацию. - 8.
Вернитесь в терминал и подтвердите действие в командной строке: введите Y/y или нажмите Enter.
- 9.
Подтвердите размещение мини-приложения на хостинге: введите код из личных сообщений от администрации ВКонтакте. Также в push-уведомлении нужно подтвердить автоматическое изменение URL вашего мини-приложения.
Если мини-приложение не размещается, проверьте, что в поле
app_id
указан корректный идентификатор вашего мини-приложения. - 10.
Перейдите по ссылке
vk.com/app<id>
, чтобы увидеть работу мини-приложения. Мини-приложение будет размещено на хостинге ВКонтакте, а ссылка вида:https://prod-app1-1.pages-ac.vk-apps.com/index.html
появится в поле URL раздела Настройки.
Проект мини-приложения на Node.js
- 1.
Перейдите к папке проекта мини-приложения:
Shellcd <ПУТЬ_К_МИНИ_ПРИЛОЖЕНИЮ>
- 2.
Установите библиотеку:
Shellnpm install @vkontakte/vk-miniapps-deploy --include=dev
- 3.
Создайте файл
vk-hosting-config.json
. - 4.
Создайте папку
build
и перенесите в неё все статические файлы.. └── mini-app ├── build ├── cactus.png ├── dinosaur.png ├── index.html ├── script.js └── style.css ├── src ├── package-lock.json ├── package.json ├── README.md └── vk-hosting-config.json
- 5.
В командной строке проекта задеплойте его:
Shellvk-miniapps-deploy
- 6.
Или добавьте в файл
package.json
скриптdeploy
, после чего сохраните файл:JSON"scripts": { ... "deploy": "vk-miniapps-deploy" }
И задеплойте проект:
Shellnpm run deploy
Перед деплоем автоматически выполнится команда
npm run build
, соберётся проект, а в каталоге проекта появится файлbuild.zip
и каталогbuild
. - 7.
Согласитесь на настройки по умолчанию: введите Y/y или нажмите Enter.
- 8.
В командной строке вы получите ссылку вида:
https://oauth.vk.com/code_auth?stage=check&code=1c2d2bd
. Откройте её в браузере, чтобы пройти аутентификацию. - 9.
Вернитесь в терминал и подтвердите действие в командной строке: введите Y/y или нажмите Enter.
- 10.
Подтвердите размещение мини-приложения на хостинге: введите код из личных сообщений от администрации ВКонтакте. Также в push-уведомлении нужно подтвердить автоматическое изменение URL вашего мини-приложения.
Если мини-приложение не размещается, проверьте, что в поле
app_id
указан корректный идентификатор вашего мини-приложения. - 11.
Перейдите по ссылке
vk.com/app<id>
, чтобы увидеть работу мини-приложения. Мини-приложение будет размещено на хостинге ВКонтакте, а ссылка вида:https://prod-app1-1.pages-ac.vk-apps.com/index.html
появится в поле URL раздела Настройки.
Файл vk-hosting-config.json
Для настройки библиотеки vk-miniapps-deploy
укажите файл vk-hosting-config.json
:
Пример файла:
{
"static_path": "build",
"app_id": 51405499,
"endpoints": {
"mobile": "index.html",
"mvk": "index.html",
"web": "index.html"
}
}
static_path
Путь, по которому обращается библиотека за статическими файлами.
app_id
Идентификатор мини-приложения.
endpoints
Объект платформ, для которых нужно автоматически заменить адрес в Настройках. Возможные значения:
- •
mobile
— мобильное приложение. - •
mvk
— мобильная версия сайта. - •
web
— десктопная версия сайта.
Для каждой платформы указывается файл, из которого будет собираться мини-приложение для нужной платформы.
nopromt
Информация о том, нужно ли выполнить деплой на Continuous Integration (CI). Имеет единственное значение true
.
На что обратить внимание
- •Убедитесь, что в файле
package.json
значение"homepage":'''"./"'''
CI
Чтобы задеплоить проект, используйте команду:
$ env MINI_APPS_ACCESS_TOKEN=<КЛЮЧ_ДОСТУПА> yarn deploy
Получение ключа доступа
Примечание. Информация о ключе доступа выведется только после авторизации в библиотеке.
Команда запуска деплоя
Чтобы получить ключ доступа, выполните команду запуска деплоя:
CI_URLS=true npm run deploy
В консоли выведется информация о ключе доступа.
Файл ключа доступа библиотеки
Чтобы вывести содержимое файла ключа доступа, выполните команду:
cat ~/.config/configstore/@vkontakte/vk-miniapps-deploy.json
В консоли выведется информация о ключе доступа.
Переменные окружения
MINI_APPS_ACCESS_TOKEN
Токен можно получить от библиотеки vk-miniapps-deploy
. Или используйте сервисный ключ доступа мини-приложения.
MINI_APPS_ENVIRONMENT
Окружение для деплоя. Возможные значения:
- •
production
— production-окружение. Ссылки на production-окружение имеют префиксprod-
. - •
dev
— dev-окружение. Ссылки на dev-окружение имеют префиксstage-
.
Примечание. При деплое на production-окружение также выполнится деплой на dev-окружение.
CI_URLS
Подготовка URL-адресов production- или dev-окружения. Имеет единственное значение true
.
Примечание. Чтобы деплой выполнился корректно, нужно также указать переменную nopromt
в файле vk-hosting-config.json
.
FAQ
Получаю ошибку Error: 5: User authorization failed: invalid session
. Что делать?
Если вы выполнили команду npm run deploy
и видите ошибку авторизации, обновите ключ доступа библиотеки:
rm ~/.config/configstore/@vkontakte/vk-miniapps-deploy.json
Не могу найти ключ доступа. Что делать?
- 1.Выполните команду, описанную в разделе Получаю ошибку
Error: 5: User authorization failed: invalid session
. Что делать?. - 2.Выполните шаги, описанные в разделе Получение ключа доступа.