C.W.K.
Stream
Lesson 04 of 06 · published

tauri dev vs tauri build

~12 min · tauri, cli, dev, build

Level 0웹 관광객
0 XP0/56 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete
"dev는 네 창을 살아있는 서버로 가리켜. build는 전부를 바이너리 하나로 얼려. 지금 어느 세계인지 알아."

명령 둘, 세계 둘

tauri dev는 네 이너 루프야. beforeDevCommand를 돌려 프론트엔드 dev 서버를 띄우고, devUrl이 응답할 때까지 기다린 다음, Rust 코어를 debug 모드로 컴파일하고 그 dev 서버를 가리키는 네이티브 창을 띄워. 프론트엔드엔 HMR, Rust 쪽엔 저장 시 재컴파일. 컴포넌트 고치면 — 라이브 갱신. command 고치면 — Rust가 리빌드하고 재실행.

tauri build는 출시 경로야. beforeBuildCommand를 돌려 정적 프론트엔드를 만들고, Rust 코어를 release 모드(최적화, 컴파일 더 느림)로 컴파일하고, frontendDist 파일을 바이너리에 박고, 그다음 번들러를 돌려 네 타깃용 설치 파일을 만들어. dev 서버는 관여 안 해. 앱이 완전히 자체 완결돼.

debug vs release는 진짜 차이야

tauri dev가 만드는 debug 바이너리는 크고 최적화 안 됐어 — 빠른 반복엔 좋고, 출시엔 끔찍해. tauri build가 만드는 release 바이너리는 최적화되고 스트립돼서, 작고 빠른 대신 컴파일이 더 오래 걸려. 성능이나 바이너리 크기를 debug 빌드로 절대 재지 마. release 출력으로 재.

출력이 떨어지는 곳

tauri build 후, 설치 파일이 src-tauri/target/release/bundle/ 아래 타입별로 정리돼 나타나 — Mac은 dmg/macos/, Windows는 msi/nsis/, Linux는 deb/appimage/. 생 실행파일은 target/release/에 있고, 사용자한테 건네는 건 bundle 폴더야. 이건 ship 트랙에서 깊게 파.

Code

제일 자주 칠 두 명령·bash
# 이너 루프 — 빠른 반복, debug 빌드, dev 서버를 가리킴.
npm run tauri dev

# 출시 — release 빌드, 정적 프론트엔드 박힘, 설치 파일 생성.
npm run tauri build

# 설치 파일 번들 없이 빌드 (바이너리만), 예: CI 체크용:
npm run tauri build -- --no-bundle

# 특정 설치 포맷만 빌드:
npm run tauri build -- --bundles dmg
출시 가능한 산출물이 나타나는 곳·text
`tauri build` 후 (macOS 예시):

src-tauri/target/release/
├─ my-app                      # 생 release 바이너리
└─ bundle/
    ├─ macos/My App.app        # .app 번들
    └─ dmg/My App_1.0.0_*.dmg  # 출시할 설치 파일

External links

Exercise

스캐폴딩한 앱에 tauri build를 돌려(처음엔 몇 분 걸려). src-tauri/target/release/bundle/ 아래 생성된 설치 파일을 찾아 크기를 적어. 그걸 dev 실행에서 나온 src-tauri/target/debug/ 바이너리 크기랑 비교해. 두 숫자 다 적어 — 그 격차가 debug/release 차이를 구체화한 거야.
Hint
macOS는 bundle/dmg/나 bundle/macos/를 봐. debug 바이너리는 target/debug/에 살아. release 산출물이 훨씬 작아야 하고, 그게 네가 출시할 유일한 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.