📌 영상 링크
파이썬과 달리 자바스크립트가 별다른 설치 없이 사용가능한 이유는 브라우저에서 실행되기 때문임, 브라우저 자체에 인터프리터가 존재
이런 자바스크립트를 서버 즉, 백엔드에서 실행시키기 위해서 node.js가 필요
Node package manager의 약자
자바스크립트로 구현된 다양한 모듈들을 npm에서 다운받아서 사용할 수 있음
[NPM](<https://www.npmjs.com/)

npm install module name -g처럼 -g를 붙여주면 내가 현재있는 폴더에서뿐만 아니라, 내 컴퓨터 전체에서 이 모듈을 사용할 수 있게 됨아스키 아트 자동으로 생성해주는 모듈
var figlet = require("figlet");
figlet("Hello World!!", function (err, data) {
if (err) {
console.log("Something went wrong...");
console.dir(err);
return;
}
console.log(data);
});

node.js기반의 웹프레임워크

const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send('Hello World')
})
app.listen(3000)

const express = require('express')
const app = express()
const port = 3000
app.get('/', (req,res) => {
res.send('Hello world!")
})
app.listen(port, () => {
console.log('Example app listening on port ${port}')
})
get : HTTP 메소드'/' : 라우팅()=>{} : 콜백 함수Get - 주소창 : 주소창에서 데이터 전달Post - 주소창 : 주소창이 아니라 내부적으로 body에 데이터 전달
(req, res) => { res.send('Hello World!') })setTimeout(()=>{console.log("1초 지남")},1000);
setTimeout(()=>{console.log("5초 지남")},5000);

const express = require('express')
const app = express()
const port = 3000
app.get('/', (req,res) => {
res.send('Hello world!')
})
app.get('/dog', (req,res) => {
res.send('강아지')
})
app.get('/cat', (req,res) => {
res.send('야옹이')
})
app.listen(port, () => {
console.log('Example app listening on port ${port}')
})
get으로 html도 보낼 수 있음!
// 글씨 크게 app.get('/dog', (req,res) => { res.send('<h1>강아지</h1>') }) //링크 보내기 app.get('/dog', (req,res) => { res.send("<a href='https://www.youtube.com/'>유튜브 바로가기</a>") })
//json 객체 보내기
app.get('/dog', (req,res) => {
res.send({'sound' : '멍멍'})
})
//좀 더 명시적으로 보내기
app.get('/dog', (req,res) => {
res.json({'sound' : '멍멍'})
})
app.get('/cat', (req,res) => {
res.send({'sound' : '야옹'})
})

app.get('/user/:id', (req,res) => {
const q = req.params
console.log(q)
res.json({'user id' : q.id})
})
app.get('/user/:id', (req,res) => {
const q = req.query
console.log(q)
res.json({'user id' : q.id})
})

// query에서의 값 반환하기
app.get('/user/:id', (req,res) => {
const q = req.query
console.log(q)
console.log(q.name)
res.json({'user id' : q.name})
})


const express = require('express')
const app = express()
const port = 3000
app.get('/sound/:name', (req,res) => {
const{ name } = req.params
if(name == "dog"){
res.json({'sound':'멍멍'})
} else if(name =="cat"){
res.json({'sound':'야옹'})
} else if(name =='pig'){
res.json({'sound':'꿀꿀'})
} else{
res.json({'sound':'알수없음'})
}
})
app.listen(port, () => {
console.log('Example app listening on port ${port}')
})
const express = require('express')
var cors = require('cors')
const app = express()
const port = 3000
app.use(cors())
app.get('/sound/:name', (req,res) => {
const{ name } = req.params
if(name == "dog"){
res.json({'sound':'멍멍'})
} else if(name =="cat"){
res.json({'sound':'야옹'})
} else if(name =='pig'){
res.json({'sound':'꿀꿀'})
} else{
res.json({'sound':'알수없음'})
}
})
app.listen(port, () => {
console.log('Example app listening on port ${port}')
})