smalljs$molПоиск⌘ KДокументацияПесочницаСравнениеЭкосистемаО проектеRU
ДеплойGetting StartedВведениеМентальная модельБыстрый стартОт TypeScript к view.treeСтруктура проектаИнструментарийEssentialsУстановкаВьюСостояние и реактивностьРоутингРендерингТестированиеДеплойРешение проблемDataЗагрузка данныхСхемы данныхГипер БазаMoreВитринаИз React, Vue и SvelteСборник рецептовAdvancedПлагиныМетаданные модуляОфлайнGhost-вьюAboutЧастые вопросыКомандаРелизыAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Деплой

Собранное $mol-приложение — это папка со статикой. Нечего запускать на сервере, нечего держать живым в Node, не из чего выбирать адаптер: где хостится папка, там работает и приложение.

Что именно вы выкладываете

Сборка складывает всё в папку -/ внутри модуля:1my/hello/-/2├── index.html переписан под адрес, по которому лежит сайт3├── web.js всё приложение, один файл4├── web.css5├── web.locale=en.json по одному на язык6├── manifest.json7└── … всё, что притащила директива `deploy`Эта папка и есть сайт. Отдайте её любым статическим хостингом — приложение заработает.Всё остальное в my/hello/ — исходники, а -/ сгенерирована: корневой .gitignore игнорирует -*, так что результат сборки не попадает в историю самого проекта. В сеть он уезжает из ветки деплоя.

Коротко

Воркфлоу пишет скаффолдер, поэтому новый проект публикуется по пушу:1npx create-view-tree-lsp my/hello2git push.github/workflows/deploy.yml собирает модуль и пушит my/hello/-/ в ветку gh-pages. GitHub отдаёт её, как только в Settings → Pages → Source выбрано Deploy from a branch и ветка gh-pages — а это и есть значение по умолчанию для репозитория, в котором такая ветка появилась. Если адрес отдаёт 404, проверять надо в первую очередь эту настройку.Дальше сайт живёт по адресу https://<user>.github.io/<repo>/.

Что делает воркфлоу

Всю работу тянут два экшена, и у каждого пара параметров:1- uses: hyoo-ru/mam_build@master22 with:3 package: "my/hello" # какую папку собирать, путь от корня воркспейса4 modules: "app" # какие модули внутри неё5 6- uses: hyoo-ru/gh-deploy@v4.4.17 if: github.ref == 'refs/heads/main'8 with:9 folder: "my/hello/app/-"mam_build разворачивает вокруг вашего пакета воркспейс MAM, превращает токены $name из кода в репозитории, где эти имена живут, и собирает. Ему не нужен ни лок-файл, ни шаг npm install: список зависимостей — это реестр в .meta.tree, как описано в Структуре проекта.gh-deploy коммитит собранную папку в gh-pages. Параметр target-folder кладёт её не в корень, а во вложенную папку — так и делается превью ветки:1- name: Deploy feature branch2 if: startsWith(github.ref, 'refs/heads/feature/')3 uses: hyoo-ru/gh-deploy@v4.4.14 with:5 folder: "my/hello/app/-"6 target-folder: ${{ github.ref_name }}
Редактировать эту страницу на GitHubБыло полезно?ДаНетНазадТестированиеВперёдРешение проблем
На этой страницеЧто именно вы выкладываетеКороткоЧто делает воркфлоуОдин файл, без которого деплой ломаетсяФайлы, которым место в корне сайтаГлубокие ссылки на статикеПроверить до пушаНе только GitHub Pages
Type to search the documentation.