express-간단한 웹애플리케이션 만들기
- express의 매뉴얼을 통해 문제를 해결할 수 있다. https://expressjs.com/ko/
간단한 웹 애플리케이션 만들기
- 메인 application을 하나 만든다. express에서 권장하는 메인은 app.js로 만드는 것이 관습이다.
- express모듈을 프로젝트에 로드하여 express라는 변수에 담는다.1var express = require('express');cs
- express모듈을 통해서 application이라는 객체를 만들어 주기 위하여12var app = exrpess();cs 가져온 모듈은 함수라서 함수는 application을 return한다.
- app이 3000번 포트에 listen하고 리스닝이 성공하면 콜백함수가 실행되고 확인을 위해 코드를 작성한다.12345var app = express();app.listen(3000, function() {console.log('Connected 3000 Port');});cs
- 사용자가 홈페이지로 접속했을 때 홈페이지에 접속했다는 것을 보여주고 싶다면, app.get을 호출하면 된다.12345678var app = express();app.get('/', function(req, res) {res.send('Hello Home Page');});app.listen(3000, function() {console.log('Connected 3000 Port');});cs 웹 서버에 접속할 때 get, post방식으로 접속할 수 있는데, 사용자가 url을 직접치는 것은 get방식이다.
app.get('/', function() { }); 의 의미는 사용자가 홈으로 접속하면 두번째 인자로 전달한 콜백함수가 실행하라는 의미이다.
홈으로 접속한 사용자에게 메세지를 전달하려면 콜백함수의 인자로 들어오는 함수의 형태는 첫 번째 매개변수에 req, 두 번째에 res가 들어온다고 약속되어있다.
/로 들어왔을 때 function을 실행시키면서 첫 번째 매개변수 값으로 사용자가 요청한 것과 관련된 정보를 담고있는 request객체를 담고있는 것이고,
res라는 두 번째 인자를 통해서 사용자가 요청한 정보에 대해서 응답을 할 수 있는 여러가지 방법을 담고있는 응답에 대한 객체를 전달해주도록
약속되어있다. 그 약속에 따라 이런 형식의 콜백함수를 정의한다.
- 사용자가 login이라는 주소로 접속하게 되면 사용자에게 Login please라는 메세지를 전달하고 싶으면 아래와 같이 작성하면 된다.123app.get('/login', function(req, res) {res.send('Login please');});cs 즉, 사용자가 어떠한 경로로 들어왔을 때, 어떤 것이 실행될 것인가라고 하는 것을 연결해주는 역할을 하는 것이 get 메서드이다.
get을 라우터라고 부르고, get이 하는 일을 라우팅이라고 한다.라우팅
사용자의 요청과 그 요청에 대한 처리인 컨트롤러를 중개해주는 역할이 라우터이고, 웹 app을 만들 때, 가장 중요한 것 중 하나이다.
html파일이나 다른 파일 경로를 지정하기 위해 사용되므로 반드시 숙달해야 사용하기 편리하다.