pnpm dev λͺ
λ Ήμ΄λ **Hot Module Replacement(HMR)**λ₯Ό μ§μνλ κ°λ° μλ²λ₯Ό μμν©λλ€. μ½λλ₯Ό μμ νλ©΄ μλ²λ₯Ό μ¬μμνμ§ μκ³ λ λ³κ²½μ¬νμ΄ μ¦μ λ°μλ©λλ€.
κΈ°λ³Έ μ¬μ©λ²
- μλ μ¬μμ: μ½λ λ³κ²½ μ μλμΌλ‘ μλ² μ¬μμ
- TypeScript μ§μ: .ts νμΌμ λ°λ‘ μ€ν
- μμ€λ§΅ μ§μ: μλ¬ λ°μ μ μ νν μ€ λ²νΈ νμ
- ν€λ³΄λ λ¨μΆν€: λΉ λ₯Έ μμ μ μν λ¨μΆν€
λμ μ리
pnpm devλ λ΄λΆμ μΌλ‘ λ€μ λꡬλ€μ μ¬μ©ν©λλ€:
| λꡬ | μν | μ 곡 |
|---|---|---|
@sonamu-kit/hmr-runner | HMR μ€ν μμ§ | Sonamu |
@sonamu-kit/ts-loader | TypeScript λ‘λ | Sonamu |
@sonamu-kit/hmr-hook | HMR ν | Sonamu |
μ€ν κ³Όμ
src/index.tsλ₯Ό μνΈλ¦¬ν¬μΈνΈλ‘ μ€ν- TypeScript νμΌμ μ¦μ λ³ννμ¬ μ€ν
- νμΌ λ³κ²½ κ°μ§
- λ³κ²½λ λͺ¨λλ§ κ΅μ²΄ (HMR)
- μ 체 μ¬μμμ΄ νμν κ²½μ°μλ§ μ¬μμ
ν€λ³΄λ λ¨μΆν€
κ°λ° μλ² μ€ν μ€ λ€μ λ¨μΆν€λ₯Ό μ¬μ©ν μ μμ΅λλ€:| λ¨μΆν€ | κΈ°λ₯ | μ€λͺ |
|---|---|---|
r | μ¬μμ | μλ²λ₯Ό μλμΌλ‘ μ¬μμν©λλ€ |
f | κ°μ μ¬μμ | sonamu.lock νμΌμ μμ νκ³ μ¬μμν©λλ€ |
Enter | ν μ€νΈ | ν€ λ°μΈλ© ν μ€νΈμ© |
Ctrl+F Ctrl+F | μ λ°μ΄νΈ | Git pull, ν¨ν€μ§ μ€μΉ, λΉλ ν μ¬μμ |
λ¨μΆν€ μ¬μ© μμ
μλ² μ¬μμ:νκ²½ λ³μ
κ°λ° μλ²λ λ€μ νκ²½ λ³μλ₯Ό μλμΌλ‘ μ€μ ν©λλ€:| λ³μ | κ° | μ€λͺ |
|---|---|---|
NODE_ENV | development | κ°λ° λͺ¨λ νμ |
HOT | yes | HMR νμ±ν νλκ·Έ |
API_ROOT_PATH | νλ‘μ νΈ κ²½λ‘ | HMR λ£¨νΈ λλ ν 리 |
HMR λμ λ°©μ
μλ μ¬μμλλ κ²½μ°
λ€μ νμΌμ μμ νλ©΄ μλ²κ° μλμΌλ‘ μ¬μμλ©λλ€:- Entity νμΌ (
*.entity.ts) - Model νμΌ (
*.model.ts) - Config νμΌ (
sonamu.config.ts) - Migration νμΌ
μ¦μ λ°μλλ κ²½μ° (HMR)
λ€μ νμΌμ μμ νλ©΄ μλ² μ¬μμ μμ΄ μ¦μ λ°μλ©λλ€:- μΌλ° λΉμ¦λμ€ λ‘μ§
- μ νΈλ¦¬ν° ν¨μ
- μλΉμ€ λ μ΄μ΄
λ¬Έμ ν΄κ²°
μλ²κ° μμλμ§ μλ κ²½μ°
λ¬Έμ : ν¬νΈκ° μ΄λ―Έ μ¬μ© μ€HMRμ΄ μλνμ§ μλ κ²½μ°
λ¬Έμ : μ½λ λ³κ²½μ΄ λ°μλμ§ μμ ν΄κ²°:TypeScript μ€λ₯κ° λ°μνλ κ²½μ°
λ¬Έμ : νμ μλ¬λ‘ μλ² μ€ν μ€ν¨ ν΄κ²°:μ€μ ν
1. λΉ λ₯Έ κ°λ° μ¬μ΄ν΄
μ½λλ₯Ό μμ νκ³ λ°λ‘ ν μ€νΈν μ μμ΅λλ€:2. λ‘κ·Έ νμΈ
κ°λ° μλ²λ λͺ¨λ λ‘κ·Έλ₯Ό μ½μμ μΆλ ₯ν©λλ€:3. λλ²κΉ
μμ€λ§΅μ΄ νμ±νλμ΄ μμ΄ μ νν μ€ λ²νΈλ₯Ό νμΈν μ μμ΅λλ€:νλ‘λμ κ³Όμ μ°¨μ΄μ
| κΈ°λ₯ | κ°λ° μλ² | νλ‘λμ |
|---|---|---|
| HMR | β νμ±ν | β λΉνμ±ν |
| TypeScript | μ¦μ μ€ν | μ»΄νμΌ νμ |
| μμ€λ§΅ | μλ³Έ νμΌ | μμΆλ νμΌ |
| μ±λ₯ | λλ¦Ό | λΉ λ¦ |
| μλ¬ νμ | μμΈν¨ | κ°λ΅ν¨ |