air1212
100
2019-09-08 14:13:46
3
611

nodeJS 기초 질문입니다


js, nodejs 입문중 생활코딩님의 예전, 최신 강좌를 둘 다 보니 궁금증이 생겨서 질문 두개 드립니다.


1.

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});


2.

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

app.get("/", function(req, res) {
  res.render("main");
});

app.get("/create", function(req, res) {
  res.render("create");
});

app.listen(3000, function() {
  console.log("3000 port connet!");
});


#1 : 위에 코드들 처럼 두가지 스타일로 다르게 강의를 해주시던데 해가 지나며 트랜드에 의해 바뀐건가요? 실무에선 어떤 스타일을 주로 쓰는지 궁금합니다. 개인적으로 1번 스타일은 sever 상수 괄호안에 계속 else if 로 이어져서 보기 안좋던데 최근 강좌에는 저 방법을 쓰더라구요.


#2 : response.writeHead  //  response.end  이 두가지는 모든 라우터에 필수 항목인가요?



0
  • 댓글 3

  • 아이원가습기
    552
    2019-09-08 17:05:25

    먼저 Q&A에 올리셔야하는게 맞는것같습니다.


    1번은 node 내장모듈인 http를 이용하여 서버를 생성하는법을 보여준거구요.

    대부분 자체 내장모듈이용을 안하고 감싸진 express koa hapi 등등 여러 프레임워크들을 사용하는거죠

    직접 느끼시기에도 전자가 번거롭고 코드량도많잖아요. 편하게 쓰기위해 여러 기능들이 들어가고 정제된 라이브러리가 후자입니다. 전자로 쓰는사람은 프레임워크를 만든다거나 딱 필요한거만 쓰고싶어하시는 분이 사용하실듯합니다.

    결론은 점유율 높은 후자로 공부하시면 됩니다.

  • nib
    2019-09-16 17:54:34

    #1. 위에 분이 잘 설명해주셔서 딱히 할말은 없습니다만, express 와 Koa 프레임워크를 많이들 씁니다

    #2. 질문이 애매하셔서.. 필요한 곳이라면 필수겟지요. http 내장 모듈을 사용할 경우에, 말그대로 Header 와 body 데이터를 넣는 부분입니다. 200 성공, 500에러 등의 정보와 view 로 보여줄 데이터를 보여줄때 사용하는 거죠. 결국 response 를 어떻게 넘겨줄지에 대한 설정 부분이라 보시면 될 것 같습니다.

     express 를 사용할 경우에는 , 

    res.status(500).json({ error: 'database failure' });

    요런식으로 response 를 보내줄 수 있겟네요. 




  • air1212
    100
    2019-09-16 21:52:41

    두분 다 정말 감사합니다. Q&A에도 올렸었는데 질문에 성의가 없었는지 답변이 없어서 여기에 올려봤습니다. 죄송합니다..


    덕분에 궁금한 점들 확실히 이해했습니다. 감사합니다!

  • 로그인을 하시면 댓글을 등록할 수 있습니다.