이번엔 "Express"를 이용하여 웹서버를 만들어 본다.
npm install express --save
상기 명령어를 이용해서 express 를 설치해 준다.
const express = require('express');
const app = express();
const server = app.listen(3000, () => {
console.log('Start Server : localhost:3000');
});
require메서드를 이용해서 express모듈을 사용 할 수 있도록 처리 해준다.
const server에 정의 한 내용은 3000번 포트를 이용해 접근 하여 에러가 없을 경우 console.log에 명시된 내용이 찍히도록 한다.
(터미널에서 입력해준다)서버 시작 명령어
node server.js
현재는 서버의 작동만을 정의 했기 때문에 위와 같은 에러 페이지를 띄워준다.
실제 서버가 없거나 동작하지 않는 경우는 위와 같은 화면이 표시된다.
서버에서의 기능을 구현 하기 전에 간단한 개념 정리를 한다.
웹브라우저를 사용하는 것은 클라이언트 라고 생각하고,
클라이언트는 웹사이트를 들어가서 이런 저런 버튼을 눌러보면서 여러 기능을 서버에 요청하게 된다.
이게 개발에서 자주 보는 request, response이다.
예를 들어 사용자는 웹사이트에 표시된 '게시판' 이라는 탭을 클릭을 하게 되면,
게시판을 보여달라는 '요청'(request)를 서버에 전달하게 되고 ,
서버는 이러한 요청에 맞는 기능을 동작시키고 결과물을 웹사이트에 다시 '반환'하게 된다.(response)
요청을 서버의 어떤 기능과 맵핑 하는 것을 '라우팅'이라고 한다.
// respond with "hello world" when a GET request is made to the homepage
app.get('/', function(req, res) {
res.send('hello world');
});
express공식 홈페이지에 들어가면 사용법 맨 위에 나오는 예제 코드이다.
이 코드를 server.js에 넣고 서버를 실행해주면
send메서드 안에 입력된 문자열을 반환한다.
res는 response를 의미하고, send는 html에 입력된 내용을 뿌려주는 역할이라고 짐작 할 수 있다.
restful api만을 만드는 것이 목적이라면
app.get, app.post, app.delete, app.put으로 라우팅 처리를 해주면 되고,
내가 본 강의 영상에서는 html파일을 띄워주는 방법을 소개 하고 있었기 때문에 그 방법도 기재한다.
html파일을 연결할 때에 'ejs'라는 모듈을 설치 하였다.
ejs는 html태그에서 자바스크립트를 사용할 수 있도록 해주는 도구이다.
npm install ejs --save
ejs모듈을 설치 해준다.
server.js 파일에 아래의 코드를 입력해준다.
//현재 디렉토리 = __dirname
app.set('views', __dirname + '/views')
app.set('view engine', 'ejs')
app.engine('html',require('ejs').renderFile);
app.get('/', function(req,res){
res.render('index.html')
})
app.get은 res.render()메서드를 호출하는 것으로 바꿔준다.
이후 서버를 실행하면 index.html파일에 입력된 내용을 띄워준다.
유튜버 "개발자의 품격"님의 영상을 참고하여 진행하였습니다.
'개발 > node' 카테고리의 다른 글
Node.js 기초 프로젝트_01 (0) | 2023.06.24 |
---|