air1212
100
2019-09-06 22:41:34
2
317

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 : post방식으로 데이터를 받아오는 방법 중 주로 쓰는게  body-parser 모듈과 querystring 모듈로 배웠습니다. 여기서 후자가 기본적으로 내장되어있어 쓰기 유용해보이던데 아래 방법 처럼 써보는데 받아오질 못하고 있습니다. querystring에 대한 자료가 잘 안나와있어서.. 어디를 변경하면 좋을지 잘 못찾겠습니다.


const express = require("express"),
  fs = require("fs"),
  qs = require("querystring");
const app = express();

------------

app.post("/create_process", function(req, res) {
  let body = "";

  //데이터 호출
  req.on("data", function(data) {
    body += data;
  });
  //데이터 호출 완료
  req.on("end", function() {
    const post = qs.parse(body);
    const title = post.title;
    const description = post.description;

    //데이터로 새로운 파일 생성
    // fs.writeFile(`/data/${title}`, description, "utf8", function(err) {
    //   console.log(title, description);
    // });
    console.log(post);
    res.send(post);
  });
});


아래 코드는 post 형식으로 app.js에 보내는 ejs 코드입니다.


<!-- 데이터 생성하는 페이지 -->
<!-- main -> create -> create_process -(redirection)-> main -->

<form action="/create_process" method="post">
  <p>
    <input type="text" name="title" placeholder="title" />
  </p>

  <p>
    <textarea name="description" placeholder="description"></textarea>
  </p>

  <p>
    <button type="submit">Create</button>
  </p>
</form>


웹 입문하기가 엄청힘드네요. 도움 부탁드립니다! 

0
  • 답변 2

  • air1212
    100
    2019-09-06 23:05:39

    아 제일 궁금했던게 빠졌었네요..  


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

  • Gary
    15
    2019-09-17 18:41:35
    필수 아닙니다.
  • 로그인을 하시면 답변을 등록할 수 있습니다.