npm install express
시작하기에 앞서 Express모듈이 없다면 터미널에서 설치를 해야한다.
var express = require('express');
설치가 완료되었다면 express라는 모듈을 프로젝트에 로드한다.
var app = express();
express 모듈은 함수이기 때문에 app 변수에 저장한다.
app.listen(3000, function () {
console.log('Connected 3000 port!');
})
app에는 listen이라는 메서드가 있다.
메서드에 인자로 포트번호를 지정해주면 해당 포트를 listening할 수 있게 된다.
listening에 성공한다면 funtion()이라는 콜백함수가 실행되면서 'Connected 3000 port!'가 출력된다.
하지만 여기까지 한다면 다음과 같은 에러가 날 것이다.
Cannot GET /
이유는 사용자가 /를 사용해 홈으로 접속했을 때의 처리코드가 없기 때문이다.
그래서 우리는 코드를 추가해줘야한다.
app.get('/', function (req, res) {
res.send('Hello home page');
})
function() 인자로 req(request), res(response)가 들어온다.
req는 사용자가 요청한 정보를 담고 있는 객체,
res는 요청한 정보에 대해 서버가 사용자에게 응답을 할 수 있는 정보를 담고 있는 객체이다.
res.send()를 이용해 사용자가 홈에 접속했을 때 'Hello home page'라는 문구를 띄운다.
우리는 여기서 한가지 기능을 더 추가할 수 있다.
app.get('/login', function (req, res) {
res.send('Login please');
})
위 코드를 이용해 사용자가 localhost:3000/login을 주소창에 입력했을 때의 이벤트를 처리할 수 있다.
/를 입력했을 때의 경우를 생각해보면 localhost:3000/login을 입력한다면 화면에 Login please가 출력되어야한다.
/와 /login 은 사용자가 접속하는 경로를 의미한다.
어떤 것이 실행되는지 서버와 사용자를 연결해주는 역할을 해주는 것이 get메서드이다.
그래서 get과 같은 메서드를 라우터(router)라고 한다.
네트워크에서 쓰이는 용어의 그 라우터가 맞다.
라우터가 하는 일을 라우팅(routing)이라고 한다.
<전체코드>
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello home page');
})
app.get('/login', function (req, res) {
res.send('Login please');
})
app.listen(3000, function () {
console.log('Connected 3000 port!');
})
'javascript > node.js' 카테고리의 다른 글
[Node.js] Express, URL을 이용하여 query 객체 사용 (0) | 2024.07.08 |
---|---|
[Node.js] Express 템플릿 엔진 (Pug) (0) | 2024.07.08 |
[Node.js] Express 동적 파일 제공 (0) | 2024.07.07 |
[Node.js] Express 정적 파일 제공 (0) | 2024.07.07 |
[Node.js] Node.js 간단한 웹서버 만들기 (0) | 2024.07.07 |