[Node.js 찍먹하기] Chapter 01 : 서버 띄우기
express로 서버 띄우기
일단 폴더구조를 알기전에
app.js
를 만들어 서버 코드를 생성자하
const express = require("express");
const app = express();
app.listen(3000, function () {
console.log("서버 가동");
});
하지만, 에러가 난다 ⇒express를 찾을수 없기 때문
⇒ express는 Node.js의 각종라이브러리와 프레임워크가 들어있기때문에 npm으로 다운받아줘야함
npm install express --svae
// 서버구동
node app.js
그럼 epxress를 불러와서 express가 로컬 PORT 3000번으로 서버를 구동시켜준다
get으로 요청 받은 url에 따른 responds보내기
// express가 서버에서 get요청으로 /(루트)를 보내면, res=반응 을 한다
app.get("/", (req, res) => {
//기능
res.send("여기는 루트입니다.");
});
// express가 서버에서 get요청으로 /login(루트)를 보내면, res=반응 을 한다
app.get("/login", (req, res) => {
res.send("여기는 로그인 입니다.")
// express가 서버에서 get요청으로 /(루트)를 보내면, res=반응 을 한다
app.get("/", (req, res) => {
//기능
res.send("여기는 루트입니다.");
});
// express가 서버에서 get요청으로 /login(루트)를 보내면, res=반응 을 한다
app.get("/login", (req, res) => {
res.send("여기는 로그인 입니다.")
코드안에 해당 url를 요청 받고, 화살표 함수로 이에 따른 기능을 추가해주면 된다
왜 express를 써야 할까? http로도 가능하잖아?
const http = require("http"); // 내장 모듈이라 다운 없이 가능
const app = http.createServer((req, res) => {
res.end("여기는 루트입니다");
} else if (req.url === "/login") {
res.end("여기는 로그인 화면입니다.")
}
});
app.listen(3001, () => { // 3000은 있으니 다른걸로 하자
console.log("http로 가동한 서버입니다")
});
const http = require("http"); // 내장 모듈이라 다운 없이 가능
const app = http.createServer((req, res) => {
res.end("여기는 루트입니다");
} else if (req.url === "/login") {
res.end("여기는 로그인 화면입니다.")
}
});
app.listen(3001, () => { // 3000은 있으니 다른걸로 하자
console.log("http로 가동한 서버입니다")
});
하지만 코드만 봐도 알듯이 깔끔하지 못하다
요청 받은 url이 어떤 루트인지 알아야 하기 때문에 조건문이 들어가기때문이다
그리고 서버가 해당 url를 잘 반환해줬다해도
이러한 한글깨짐이 있다
루트처리도 귀찮은데..
한글 처리까지 해줘야한다
res.writeHead(200, { 'Content-Type': "text/html; charset=utf-8" }); //정상출력이고(200), 보내는 방법은 html이고, char셋은 utf-8로 해석해달라
이제 정상 출력이 된다.
Author And Source
이 문제에 관하여([Node.js 찍먹하기] Chapter 01 : 서버 띄우기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dndb3599/Node.js-찍먹하기Chapter-01-서버-띄우기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)