빌드와 배포
새 앱과 기존 앱의 배포 빌드를 구분하고 결과물을 확인합니다.
아래 명령과 기본 결과물은 npm에 공개된 Frontron·create-frontron 0.13.3 기준입니다.
새 앱
npm run build스타터의 build 스크립트는 타입 검사, Vite 빌드, Electron 코드 컴파일과 패키징을 실행합니다.
완성된 데스크톱 앱은 프로젝트의 output/에 생성됩니다. dist/의 웹 파일과 dist/electron/의 Electron 코드는 패키징에 쓰는 중간 결과물입니다.
기존 웹앱
npm run frontron:package감지된 웹 런타임을 먼저 빌드한 뒤 Electron 앱으로 패키징합니다. 정적 출력과 Node 서버 출력은 선택된 어댑터에 따라 다르게 준비됩니다.
npm run frontron:build는 웹·Electron 코드와 런타임 출력을 준비하는 단계까지 실행합니다. 설치·배포 파일을 만들 때는 이 단계까지 포함하는 frontron:package를 실행하세요.
완성된 데스크톱 앱은 기본적으로 웹앱 프로젝트의 release/에 생성됩니다. dist-electron/은 Electron 코드의 중간 결과물입니다. 모노레포에서는 선택한 웹앱 패키지 안에서 결과물을 찾으세요.
실행·배포할 파일
아래는 별도 패키징 설정을 추가하지 않았을 때의 결과물입니다. 앱이름은 package.json의 build.productName, 버전은 version, 아키텍처는 x64나 arm64 등 빌드 대상에 해당합니다.
| 프로젝트·운영체제 | 결과물 | 실행·배포 방법 |
|---|---|---|
| 새 앱 · Windows | output/앱이름-버전-아키텍처.msi | 설치 파일입니다. 사용자에게 전달하고 실행하여 설치합니다. |
| 새 앱 · Windows | output/앱이름.exe | 설치 없이 실행하는 portable 앱입니다. 이 파일을 전달하고 직접 실행합니다. |
| 기존 웹앱 · Windows | release/앱이름 Setup 버전.exe | 기본 NSIS 설치 파일입니다. 사용자에게 전달하고 실행하여 설치합니다. |
| 새 앱 · macOS | output/*.dmg, output/*.zip | DMG를 열어 앱을 Applications로 옮기거나 ZIP을 풀어 .app을 실행합니다. DMG 또는 ZIP을 배포합니다. |
| 기존 웹앱 · macOS | release/*.dmg, release/*.zip | DMG를 열어 앱을 Applications로 옮기거나 ZIP을 풀어 .app을 실행합니다. DMG 또는 ZIP을 배포합니다. |
Windows x64 결과물 폴더의 win-unpacked/는 패키징된 앱을 직접 검사할 때 사용합니다. 안의 .exe를 실행하되, 함께 생성된 파일과 폴더를 모두 유지하세요.
출력 위치는 package.json의 build.directories.output에서 확인할 수 있습니다. 기존 웹앱에 이 값이 이미 있으면 유지됩니다. 파일 형식과 이름을 바꾼 프로젝트는 build.win.target, build.mac.target, 각 타깃의 artifactName 설정을 확인하세요. 새 앱의 Windows 기본 타깃은 MSI와 portable이고, 기존 웹앱의 Windows와 두 경로의 macOS 기본 타깃은 electron-builder 기본값을 따릅니다.
배포 전 확인
- 위 표의 파일을 설치하거나 직접 실행해 패키징된 앱을 확인합니다.
- 파일 선택, 저장, 클립보드와 외부 링크가 정상 동작하는지 확인합니다.
- 앱 외부 URL이 시스템 브라우저로 열리는지 확인합니다.
- Windows와 macOS를 모두 배포한다면 각 운영체제에서 따로 빌드하고 검사합니다.
Frontron은 앱 내부에 안정적인 frontron://app origin을 사용합니다. 패키징된 정적 서버나 프레임워크 서버는 외부에 공개되지 않는 loopback 범위에서 동작합니다.