node server/basic-server.js
server/basic-server.js
를 입력하여 서버 실행sudo npm install -g nodemon
npm install -g nodemon
을 입력했는데 에러가 발생할 경우 sudo로 다운로드nodemon server/basic-server.js
server/basic-server.js
를 입력하여 서버 실행"start": "nodemon server/basic-server.js"
nodemon server/basic-server.js
를 입력하면 npm start로 실행 가능 "start": "node --inspect server/basic-server.js"
--inspect
옵션을 통해 debugging 가능 "start": "node --inspect-brk server/basic-server.js"
--inspect-brk
옵션을 사용시 크롬 devtools가 실행되기 전까지 서버는 대기const http = require('http')
const server = http.createServer((request, response) => {
// 여기서 작업이 진행됩니다!
})
server.listen(8080)
// 8080 포트로 서버를 읽음
/// ddd를 입력
let body = [];
request.on('data', (chunk) => {
console.log(chunk)
// <Buffer 22 44 44 44 22>
body.push(chunk)
// chunk로 받은 데이터를 body에 넣어줌
console.log(body)
// [<Buffer 22 44 44 44 22>]
}).on('end', () => {
body = Buffer.concat(body).toString();
// 여기서 `body`에 전체 요청 바디가 문자열로 담겨짐
console.log(body)
// "ddd"
response.writeHead(201, defaultCorsHeader);
// 201번 상태 코드와 헤더(defaultCorsHeader)를 전달
// defaultCorsHeader : cors 설정을 의미
response.end(body.toUpperCase());
// 받아온 문자열을 toUpperCase()
// "DDD"
});
/// ddd를 입력
let data = "";
request
.on("data", (chunk) => {
console.log(chunk)
// <Buffer 22 64 64 64 22>
data += chunk;
// chunk로 받은 데이터를 data에 더해 문자열로 만듦
console.log(data)
// "ddd"
})
.on("end", () => {
response.writeHead(201, defaultCorsHeader);
// 201번 상태 코드와 헤더(defaultCorsHeader)를 전달
// defaultCorsHeader : cors 설정을 의미
response.end(data.toUpperCase());
// 받아온 문자열을 toUpperCase()
// "DDD"
});
/// ddd를 입력
let data;
request
.on("data", (chunk) => {
console.log(chunk)
// <Buffer 22 64 64 64 22>
data = chunk.toString();
// chunk로 받은 데이터를 문자열로 바꾸어 데어터에 할당
console.log(data)
// "ddd"
})
.on("end", () => {
response.writeHead(201, defaultCorsHeader);
// 201번 상태 코드와 헤더(defaultCorsHeader)를 전달
// defaultCorsHeader : cors 설정을 의미
response.end(data.toUpperCase());
// 받아온 문자열을 toUpperCase()
// "DDD"
});
const defaultCorsHeader = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Content-Type, Accept",
"Access-Control-Max-Age": 10
};
// defaultCorsHeader : Cors 설정을 의미
// Origin : 모든 도메인(*)을 허용
// Methods : GET, POST, PUT, DELETE, OPTIONS만 허용
// Headers : Content-Type, Accept만 허용
// Max-Age : preflight request는 10초 까지 허용
response.statusCode = 200;
response.setHeader(defaultCorsHeader);
response.end(body);
// 위는 아래와 같이 writeHead 메소드를 통해 축약 가능
response.writeHead(200, defaultCorsHeader);
response.end(body);
response.writeHead(404, defaultCorsHeader);
response.end();
npx serve client/
로 서버 실행http://localhost:51202
)으로 특정
npx serve client/ -l 5555
: 클라이언트 서버를 5555번 포트로 실행"Access-Control-Allow-Origin": "http://localhost:7777"