1️⃣ 'http' VS 'Express'
2️⃣ 구조의 차이
let http = require('http'); // 매개변수로 http 모듈(내장모듈)을 가져와서 http 변수에 정의함
function onRequest(request, response) {
response.writeHead(200, {'content-Type' : 'text/html'});
response.write('Hello node.js');
response.end();
}
http.createServer(onRequest).listen(8989);
// http 모듈에 createServer 함수에서 할 일을 다 한 다음에
// onRequest 콜백 함수를 실핼 시켜달라고 매개변수로 던진 것
const express = require('express')
const app = express() // app이라는 변수에 express를 호출헤서 app에 담아둠, 쉽게 서버를 담아뒀다고 생각하면 됨
app.get('/'/*http://localhost:3000/*/, function (req, res) {
res.send('Hello World')
}) // 익명함수가 콜백함수로 들어가 있음
// 구조는 method + "/" 으로 이루어져 있음, get 메서드로 '/뒷내용'을 불러오고 응답을 문자열로 받아옴
app.listen(3000) // 포트넘버를 3000으로 설정
1️⃣ 객체란?
app.get('/nice', function (req, res) {
res.send("반가워")
// 우리는 자바스크립트 언어를 사용하며 자바스크립트는 객체가 있음, 때문에 자바스크립트 객체로 보내야 함(프론트엔드는 자바스크립트이기 때문임)
})
let person = {
name: "songa",
age: 20
} ```let nodejsbook = {
name: 'Node.js를 공부해보자',
price: 20000,
description: 'nice'
}
function print(book) { // 위 변수이름과 매개변수 이름이 같지 않아도 됨, 형식의 예시임
console.log(book.name); //'Node.js를 공부해보자'
console.log(book.price); // 20000
console.log(book.description); // 'nice'
}
print(nodejsbook); ```json(javaScript Object Notation): 자바스크립트 객체가 어떻게 생겼나 = 어떤 형태인가
아래와 같이 객체는 json 형태 {키:밸류}로 출력되는 것을 확인할 수 있음, 프론트엔드(javascript)에서는 키 값을 가지고 밸류 값을 찾아서 사용하게 될 것(프론트와 백이 같은 javascript를 사용하기 때문에 상대적으로 쉬워짐)
const express = require('express')
const app = express()
app.get('/hello', function (req, res) {
res.send({
say : "안녕",
speak : "반가워"
})
})



const express = require('express')
const app = express()
let nodejsbook = {
name: 'Node.js를 공부해보자',
price: 20000,
description: 'nice'
}
app.get('/bookinfo', function (req, res) {
res.json(nodejsbook) // 객체를 넣을 수도 있음
})
const express = require('express')
const app = express()
app.listen(3000)
app.get('/product/:n', function (req, res) {
// ':' 은 URL로 매개변수를 전달해주는 것으로 받아들임
// /product/___ 빈칸에 오는 값을 n이라는 변수에 담아줘 라는 의미
res.json({
num : req.params.n // num에는 요청받은.파라미터 중. n을 출력하자
})
})