Node.js: 초초간단한 서버

설치 설정까지 다 했으니 이제 간단한 거 만들어 볼 차례임.

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

app.listen(8080, function(){
    console.log('listening on 8080')
});

// 누군가 /pet 으로 방문
// pet 관련 안내 띄우기
// 한글로 해도 잘 돌아가는데 뭔가 어색하면 영어로 해도 됨

app.get('/pet', function(request, response){
    response.send('펫 용품 쇼핑하는 사이트입니다');
});

app.get('/beauty', function(request, response){
    response.send('뷰티 용품 쇼핑하는 사이트입니다');
});

브라우저 주소창에
localhost:8080/pet
localhost:8080/beauty
이러한 주소를 입력했을 때 특정 함수를 실행하는 코드이다.

서버 만들고 싶으면 그냥 따라 치면 됨.
생각을 하면 안 됨.
문법임 문법.


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

app.listen(8080, function(){
    console.log('listening on 8080')
});

일단
const express = require('express')
const app = express();
이 두 줄은 python의 import 와 비슷한 기능을 하는 줄임.
그냥 이렇게 쓰라고 만들어 둔 거임.

app.listen()
listen()은 서버를 열겠다는 말임. 듣겠다.
두 개의 파라미터를 요구하는데,

  • 첫 번째
    - 이건 포트 넘버임
    - 원하는 숫자 집어넣으면 되는데 보통 local에서 8000이나 8080을 사용하는 듯?
  • 두 번째
    - 이건 특정 포트(첫 번째 인자로 설정해놓은 포트)로 접속했을 때 실행할 기능임
    - 여기선 function()으로 되어 있는데 난 아직 JS문법을 모름
    - 대충 fucntion()은 인자 없이 그냥 console에 log를 출력한다 정도로 이해하였음

이까지만 해 놓고
$ node server.js 를 터미널에 입력하면 서버가 열림.
콘솔에 listening on 8080을 출력하는 함수까지 정상적으로 실행됨.

깰끔쓰. 서버 끄는 건 Crtl + C임.

서버가 올라간 상태에서 브라우저를 아무거나 켜고
localhost:8080이라고 입력해보면 뭔가 나옴.

하지만 안타깝게도 Cannot GET / 이라고 나온다.
근데 이게 정상임.
서버를 올리긴 올렸지만 루트페이지(localhost:8080/)에 뭘 띄울지는 안 정했기 때문임.


이제 주소를 달리 했을 때 페이지에 다른 내용을 출력하도록 해볼 것임.
그게 아래의 코드 부분임

// 누군가 /pet 으로 방문
// pet 관련 안내 띄우기
// 한글로 해도 잘 돌아가는데 뭔가 어색하면 영어로 해도 됨

app.get('/pet', function(request, response){
    response.send('펫 용품 쇼핑하는 사이트입니다');
});

app.get('/beauty', function(request, response){
    response.send('뷰티 용품 쇼핑하는 사이트입니다');
});

function의 첫 번째 파라미터인 request는
정확하게 request라는 입력을 받았을 때만 response를 실행한다는 뜻이 아님.

단지 '어떤 요청을 받았을 때'를 의미하는 것이므로 아무거나 적어도 됨.
자기 편한 대로 적는 거임.
근데 딱 봐도 request가 제일 직관적이고 편하긴 함.

response는 res로 줄여쓰는 일도 많은 것 같다.

아무튼 위의 코드를 입력하고 저장한 후
다시 서버를 올리고 브라우저에 정확하게 url을 입력해보면 원하는 내용들이 나옴.

URL에 뭔가를 입력한다는 건 서버에 GET요청을 한다는 뜻이다

여기까지 굿

좋은 웹페이지 즐겨찾기