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요청을 한다는 뜻이다
여기까지 굿
Author And Source
이 문제에 관하여(Node.js: 초초간단한 서버), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cdspacenoob/Nodejs02저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)