A Developing Developer

DAY 29. 주특기(Node.js) Node.js 숙련주차, 개인과제 + 리뷰(K 튜터님) 본문

내일배움캠프 4기/TIL

DAY 29. 주특기(Node.js) Node.js 숙련주차, 개인과제 + 리뷰(K 튜터님)

H-JJOO 2022. 12. 23. 21:07
  • 오늘 한거

숙련주차 개인과 ,디자인패턴 특강, 숙련주차 개인과제 리뷰

 

  • 문제발생

개인과제 중 에러 발생!

 

Error: Cannot find module 'html'

 

Node.js 개인과제는 기본적으로 BE 만 작성하지만...

 

FE 즉 Html 연결을 어떻게 하는지 몰라서 연구하다가 에러 발생!

  • 시도

구글링해서 Node.js Html 연결 관련 정보 찾아보기

 

  • 해결방안

nunjucks 패키지 활용

 

nunjucks 는 jinja2 를 영감받아 만들어진 javascript 용 템플릿 엔진이다.

 

사용방법

 

1) 터미널에 패키지 설치

npm i nunjucks

2) 메인 서버 js 파일에

필수 요소

const express = require('express');
const app = express()
const nunjucks = require("nunjucks");

app.set("view engine", "html")
nunjucks.configure("./public/html", {
    express: app
})

app.get("/", (req, res) => {
    res.render("index.html");
})

app.listen(port, () => {
    console.log(`Example app listening on port ${port}`)
})
  • 알게 된 것

node.js 에서 get 방식으로 주소창에 값을 입력해서 원하는 html 페이지로 이동하기 위해서는 nunjucks 패키지를 활용하면 가능하다.

구글링해서 필요한 기능을 찾게되면 npm 공식사이트에서 기능 활용을 위한 패키지를 검색해서 사용방법이 있는 문서를 참고해서 원하는 기능을 구현한다.

 

[결론]

 

구글링해서 알게된 패키지들은 npm 공식 사이트에서 검색 후 사용방법 문서를 확인하고 진행하자.

 

+ MVC 패턴을 지켜서 유지보수 + 팀 개발에 유리하게 하자! (app.js 몰아서 하는 무식한 방법은 버리자!)

 

Client => Contorller => Service => Model => DB => Model => Service => Controller => Clinet