Java에서 Spring Boot와 비슷하게 nodejs에서도 프로젝트를 바로 진행할 수 있는 템플릿을 제공한다.
이를 express-generator라고 한다.
사용하기 위해서는 아래와 같은 코드를 입력한다.
express-generator를 글로벌하게 설치하는 내용이다.
sudo npm install express-generator -g
설치가 되었는지 확인해보자.
npm list -g
이제 템플릿을 생성해보자.
myapp 이라는 단어를 프로젝트 명이라고 생각하고, 입력할 때는 바꿔주자.
express --view=ejs myapp
설치하고 난 뒤에는 node_modules 라는 폴더가 없는데, 생성 후 모듈을 가져오는 작업을 해줘야한다.
모듈까지 올리지 않는 이유는 파일의 크기가 워낙 크다보니 사용자가 직접 설치를 하라는 의도이다.
따라서 아래와 같은 코드를 통해 설치해보자.
npm install
이 패키지안에서는 자바에서 봤던 public static과 동일하게 전역으로 사용할 수 있는 폴더는 package.json 이고, script: {} 안에 명시해주면 된다.
bin 폴더 안에 www 파일을 통해서 포트번호 등을 설정할 수 있다.
server.listen( port ) 를 통해서 무슨 포트 번호를 listen 하겠다는 메서드를 통해서 설정하면 된다.
이제 app.js 를 보자.
view engine setup을 확인할 수 있는데, views 폴더를 가르키고 있다. 이는 app.set을 통해서 설정할 수 있다.
아래 캡쳐화면을 참고하자.
라우터를 통해서 어떤 요청에 따라서 어떤 페이지를 보여줄 것인지 설정할 수 있다.
라우터에서는 어떤 방식으로 사용자에게 응답할 것인지에 대해서 설정할 수 있는 그 메서드는 res.render와 res.send(end)이다.
Java에서 Spring boot에서는 어노테이션으로 @Controller와 @RestController를 사용했는데 아래 문장을 이해해보자.
@Controller는 template.. 즉, html을 불러서 응답하겠다는 의미이다. 이는 node.js에서 res.render와 같다.
@RestController는 String으로 출력하겠다는 의미이다. node.js에서 res.send(end)와 같다.
여기서 Rest라는 의미는 REST full와 같은 의미로 해석된다. 전해듣기론 json 형태로 데이터를 보낼 때 Rest full 이라는 단어를 사용한다고 한다.
이제 라우터 폴더에서 gugudan.js를 생성해서 router.get을 설정한 후 res.send 메서드를 통해서 String을 출력할 수 있게끔 설정했다.
위에서 설정한 후 app.js에서 require 메서드를 통해서 위에서 작성한 라우터 폴더안에 js 파일을 등록해줘야 한다.
등록한 후 app.use 메서드를 통해서 어떤 url에 요청이 있을 때, 무엇을 보여줄 것인지 설정할 수 있다.
'Front' 카테고리의 다른 글
약속합시다: 프로미스(Promise) (0) | 2024.01.07 |
---|---|
Vue.js 구조 잡기 / Component 분리 / router push (0) | 2023.06.13 |
[CSS] margin: 0; / 가운데 정렬하기 (0) | 2022.12.07 |
[Jquery] 배열 접근해서 출력하기 / for / for in / forEach 등 .. (0) | 2022.12.02 |
[JQERY] HTML 태그에 접근해서 CSS 적용 (0) | 2022.12.02 |
댓글