smalljs$mol검색⌘ K문서플레이그라운드비교에코시스템소개KO
배포Getting Started소개멘탈 모델시작하기TypeScript에서 view.tree로프로젝트 구조도구Essentials설치상태와 반응성라우팅렌더링테스트배포문제 해결Data데이터 가져오기데이터 스키마Giper BazaMore쇼케이스React, Vue, Svelte에서쿡북Advanced플러그인모듈 메타데이터오프라인고스트 뷰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 브랜치로 푸시합니다. Settings → Pages → SourceDeploy from a branch이고 gh-pages가 선택돼 있으면 GitHub가 그 브랜치를 서빙합니다. 그런 브랜치가 있는 저장소라면 그것이 바로 기본값입니다. URL이 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 }}그러면 feature/* 브랜치마다 같은 Pages 사이트 위에 자기 URL이 생기고, delete 트리거가 브랜치가 사라질 때 폴더를 치웁니다.

배포에 꼭 필요한 파일 하나

GitHub에서 이 페이지 편집도움이 되었나요?아니요이전테스트다음문제 해결
이 페이지에서배포하는 것의 정체짧은 버전워크플로가 실제로 하는 일배포에 꼭 필요한 파일 하나사이트 루트에 있어야 하는 파일들정적 호스트에서의 딥링크푸시 전에 확인하기GitHub Pages 너머
Type to search the documentation.