μμ±: 2026-03-04 14:39:06μμ : 2026-03-04 14:39:06
Nuxt.js ν΅μ¬ κ°λ : μλ μν¬νΈμ λλ ν 리 ꡬ쑰 μ΄ν΄νκΈ°
Nuxt.jsλ "μ€μ λ³΄λ€ κ΄μ΅(Convention over Configuration)"μ μ€μνλ νλ μμν¬μ λλ€. μ ν΄μ§ ν΄λ ꡬ쑰λ₯Ό λ°λ₯΄λ κ²λ§μΌλ‘λ μλ§μ 볡μ‘ν μ€μ μ μλμΌλ‘ μ²λ¦¬ν΄ μ€λλ€.
1. λ§λ² κ°μ μλ μν¬νΈ (Auto-imports)
Nuxtμ κ°μ₯ ν° νΉμ§ μ€ νλλ importλ¬Έμ μλ΅ν μ μλ€λ μ μ
λλ€.
- Components:
components/ν΄λμ Vue μ»΄ν¬λνΈ μλ μν¬νΈ. - Composables:
composables/ν΄λμ ν¨μ μλ μν¬νΈ. - Vue & Nuxt API:
ref,computed,useFetchλ± νμ API μλ μν¬νΈ.
2. νμ λλ ν 리 μν
| ν΄λλͺ | μν |
|---|---|
pages/ | νμΌ κΈ°λ° λΌμ°ν
μ λ΄λΉν©λλ€. index.vueλ / κ²½λ‘κ° λ©λλ€. |
components/ | UI μ»΄ν¬λνΈλ€μ λ΄μ΅λλ€. ν΄λ ꡬ쑰μ λ°λΌ μ΄λ¦μ΄ κ²°μ λ©λλ€. |
composables/ | μ¬μ¬μ© κ°λ₯ν λΉμ¦λμ€ λ‘μ§(κ³΅ν΅ ν¨μ)μ λ‘λλ€. |
server/ | API μμ§(Nitro)μ΄ λμνλ κ³³μ λλ€. λ°±μλ API μλ² μν μ μνν©λλ€. |
assets/ | λΉλ λꡬ(Vite)κ° μ²λ¦¬ν΄μΌ νλ μ€νμΌ, μ΄λ―Έμ§ νμΌλ€. |
public/ | λ‘λ΄ νμΌ(robots.txt), νλΉμ½ λ± μ μ νμΌμ μ§μ μλΉν©λλ€. |
3. App.vue vs Pages
app.vue: μ ν리μΌμ΄μ μ μνΈλ¦¬ ν¬μΈνΈ(μ΅μμ)μ λλ€. λͺ¨λ νμ΄μ§μμ 곡ν΅μΌλ‘ λ³΄μΌ λ μ΄μμμ΄λ μ€μ (Naive UIμ Config Provider λ±)μ λ£κΈ°μ μ ν©ν©λλ€.<NuxtPage />:pages/ν΄λμ λ΄μ©μ΄ λ λλ§λλ μμΉλ₯Ό μ§μ νλ μ»΄ν¬λνΈμ λλ€.
4. κ²°λ‘
Nuxtλ μ ν΄μ§ μμΉμ νμΌμ λλ κ²λ§μΌλ‘λ κ°λ°μκ° λΉμ¦λμ€ λ‘μ§μλ§ μ§μ€ν μ μκ² ν΄μ€λλ€. μ΄ κ΅¬μ‘°λ₯Ό μ΅νλ κ²μ΄ Nuxt λ§μ€ν°μ 첫걸μμ λλ€.