Model-View-Controller
Model-View-Controller
κΈ°λ³Έμ μΌλ‘ Nestλ κΈ°λ³Έμ μΌλ‘ Express λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν©λλ€. λ°λΌμ Expressμμ MVC (Model-View-Controller) ν¨ν΄μ μ¬μ©νλ λͺ¨λ κΈ°μ μ Nestμλ μ μ©λ©λλ€.
λ¨Όμ CLI λꡬλ₯Ό μ¬μ©νμ¬ κ°λ¨ν Nest μμ© νλ‘κ·Έλ¨μ μ€μΊ ν΄λ©νμμμ€.
MVC μ±μ λ§λ€λ €λ©΄ HTML λ·°λ₯Ό λ λλ§νκΈ° μν΄ template engineλ νμν©λλ€.
μ°λ¦¬λhbs
(Handlebars) μμ§μ μ¬μ©νμ§λ§ μꡬ μ¬νμ λ§λ κ²μ μ¬μ©ν μ μμ΅λλ€. μ€μΉ νλ‘μΈμ€κ° μλ£λλ©΄ λ€μ μ½λλ₯Ό μ¬μ©νμ¬ Express μΈμ€ν΄μ€λ₯Ό ꡬμ±ν΄μΌν©λλ€.
μ°λ¦¬λ Expressμ public
λλ ν λ¦¬κ° μ μ μμ°μ μ μ₯νλ λ° μ¬μ©λκ³ views
λ ν
νλ¦Ώμ ν¬ν¨νλ©° hbs
ν
νλ¦Ώ μμ§μ HTML μΆλ ₯μ λ λλ§ν©λλ€.
Template rendering
μ΄μ κ·Έ μμ views
λλ ν 리μ index.hbs
ν
νλ¦Ώμ λ§λ€μ΄ λ΄
μλ€. ν
νλ¦Ώμμ 컨νΈλ‘€λ¬μμ μ λ¬ λ message
λ₯Ό μΈμν©λλ€.
λ€μμΌλ‘ app.controller
νμΌμ μ΄κ³ root()
λ©μλλ₯Ό λ€μ μ½λλ‘ λ°κΏλλ€ :
μ΄ μ½λμμλ @Render()
λ°μ½λ μ΄ν°μμ μ¬μ©ν ν
νλ¦Ώμ μ§μ νκ³ μμΌλ©°, λΌμ°νΈ νΈλ€λ¬ λ©μλμ λ°ν κ°μ λ λλ§μ μν΄ ν
νλ¦ΏμΌλ‘ μ λ¬λ©λλ€. λ°ν κ°μ ν
νλ¦Ώμμ λ§λ message
μ리 νμμμ μΌμΉνλ message
μμ±μ΄ μλ κ°μ²΄μ
λλ€.
μμ© νλ‘κ·Έλ¨μ΄ μ€νλλ λμ λΈλΌμ°μ λ₯Ό μ΄κ³ http://localhost:3000
μΌλ‘ μ΄λνμμμ€. Hello world!
λ©μμ§κ° λνλ©λλ€.
Dynamic template rendering
μ ν리μΌμ΄μ
λ‘μ§μ΄ μ΄λ€ ν
νλ¦Ώμ λ λλ§ν μ§ λμ μΌλ‘ κ²°μ ν΄μΌνλ κ²½μ°μλ @Res()
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©νκ³ , @Render()
λ°μ½λ μ΄ν°κ° μλ κ²½λ‘ νΈλ€λ¬μ λ·° μ΄λ¦μ μ 곡ν΄μΌν©λλ€.
info ννΈ Nestλ
@Res()
λ°μ½λ μ΄ν°λ₯Ό κ°μ§νλ©΄ λΌμ΄λΈλ¬λ¦¬ λ³response
κ°μ²΄λ₯Ό μ½μ ν©λλ€. μ΄ κ°μ²΄λ₯Ό μ¬μ©νμ¬ ν νλ¦Ώμ λμ μΌλ‘ λ λλ§ν μ μμ΅λλ€. μλ΅ κ°μ²΄ APIμ λν΄ μμΈν μμ보μμμ€ μ¬κΈ°.
Example
μ€μ μ¬λ‘λ μ¬κΈ°μμ νμΈν μ μμ΅λλ€.
Fastify
μ΄ μ±ν°μμ μΈκΈνλ―μ΄, νΈν κ°λ₯ν HTTP 곡κΈμλ₯Ό Nestμ ν¨κ» μ¬μ©ν μ μμ΅λλ€. κ·Έλ¬ν λΌμ΄λΈλ¬λ¦¬ μ€ νλλ Fastifyμ λλ€. Fastifyλ‘ MVC μμ© νλ‘κ·Έλ¨μ λ§λ€λ €λ©΄ λ€μ ν¨ν€μ§λ₯Ό μ€μΉν΄μΌν©λλ€.
λ€μ λ¨κ³λ νλ«νΌκ³Ό κ΄λ ¨λ μ½κ°μ μ°¨μ΄μ μ μ μΈνκ³ Expressμ κ±°μ λμΌν νλ‘μΈμ€λ₯Ό λ€λ£Ήλλ€. μ€μΉ κ³Όμ μ΄ μλ£λλ©΄ main.ts
νμΌμ μ΄κ³ λ΄μ©μ μ
λ°μ΄νΈνμμμ€ :
Fastify APIλ μ½κ° λ€λ₯΄μ§λ§ μ΄λ¬ν λ©μλ νΈμΆμ μ΅μ’
κ²°κ³Όλ λμΌνκ² μ μ§λ©λλ€. Fastifyμμ μ°¨μ΄μ μ@Render()
λ°μ½λ μ΄ν°μ μ λ¬λ ν
νλ¦Ώ μ΄λ¦μ νμΌ νμ₯μλ₯Ό ν¬ν¨ν΄μΌ νλ€λ κ²μ
λλ€.
μμ© νλ‘κ·Έλ¨μ΄ μ€νλλ λμ λΈλΌμ°μ λ₯Ό μ΄κ³ http://localhost:3000
μΌλ‘ μ΄λνμμμ€. Hello world!
λ©μμ§κ° λνλ©λλ€.
Example
μ€μ μ¬λ‘λ μ¬κΈ°μμ νμΈν μ μμ΅λλ€.
Last updated
Was this helpful?