config: 빌드된 .exe 에도 .env 가 적용되도록 보강

- electron-builder.yml
  - dist/shared/** 추가 (env.js 등이 패키지에 들어가도록)
  - extraResources 로 빌드 시점 .env 를 resources/.env 에 배포
- loadEnv: 패키징된 Electron 앱이면 process.resourcesPath/.env 를 먼저 시도하고
  없으면 프로젝트 루트 .env 로 폴백
- docs/admin-site.md: .exe 빌드에도 .env 가 따라가는 동작 설명 추가
This commit is contained in:
2026-05-13 03:29:30 +09:00
parent 69ed4ad744
commit 401d72622e
3 changed files with 38 additions and 6 deletions

View File

@@ -25,6 +25,14 @@ npm start # 기본 포트 3000.
`.env``.gitignore` 로 제외되어 있습니다. 새 환경을 셋업할 때 `.env.example` 을 복사해서 시작하세요. 쉘에서 직접 환경변수를 지정한 경우에는 `.env` 값을 덮어쓰지 않습니다.
#### 설치기 `.exe` 빌드에도 적용됨
`npm run dist:win` 으로 만든 설치기 `.exe` 도 빌드 시점의 `.env` 를 함께 가져갑니다 (`electron-builder``extraResources``resources/.env` 에 배포). 런타임에서는 `process.resourcesPath/.env``<프로젝트 루트>/.env` 순으로 찾기 때문에:
- 운영자가 `SITE_BASE_URL=https://mq.example.com` 으로 `.env` 를 설정해 두고 빌드 → 최종 사용자가 받은 `.exe` 가 그 도메인의 `manifest.json` 을 자동으로 받아옴.
- 빌드 이후라도 설치된 폴더(`resources/.env`) 를 텍스트 편집기로 고치면 도메인을 바꿀 수 있음.
- 빌드 시점에 `.env` 가 없으면 단순히 빠진 채로 패키징되고, 코드 기본값(`http://127.0.0.1:3000`) 이 그대로 사용됩니다.
## 도메인 / 경로 구성
| 경로 | 내용 |