Back End/Node js

node js 기본문법

DevHam94 2024. 12. 29. 02:17
var figlet = require("figlet");

figlet("Hello World!!", function (err, data) {
  if (err) {
    console.log("Something went wrong...");
    console.dir(err);
    return;
  }
  console.log(data);
});

 

figlet 모듈의 홈페이지에 나와있는 기본예제이다.

 

require("모듈이름")을 사용해서 사용할 모듈을 figlet이라는 변수에 담아준다.

그러면 figlet이라는 변수를 통해 모듈을 사용할 수 있게된다. 

 

express 예제

const express = require('express')
const app = express()
const port = 3000

// GET 방식
app.get('/', (req, res) => {
  res.send('Hello World')
})

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

app.get('/user/:id', (req, res) => {
  const { id } = req.params // q.id를 할 필요없이 name이라는 변수에 값이 바로 들어간다.
  console.log(id)
  
  res.json({'userid' : id})
})

// POST 방식
app.use(express.json())
app.post('/user/:id', (req, res) => {
	const p = req.params
    console.log(p)
    const b = req.body
    console.log(b)
    
    res.send({'message' : 'Hello World!'})
})

app.listen(port, () => {
  console.log('Example app listening on port ${port}')
})

 

app.get은 http method방식이 GET방식으로 오는 요청을 받는것이고

'/'은 라우팅(포트내의 / 하위링크들), 콜백함수는 함수(실행후 실행되는 함수)로 

() => {}은 콜백함수이다. 일반적인 함수는 함수(변수) 이런식인데 

예로 setTimeout(( ) => {console.log("Hello World"}, 30) 이것은 30초를 먼저 setTimeout()이 실행되고 Hello World를 실행하는 함수이다. 즉 '/' 여기로 라우팅이 되서 함수가 실행되면 'Hello World'를 출력하는 함수를 실행하는게 위의 함수가 된다. (req, res) 함수안의 콜백 매개변수는 http 요청때 get방식으로 들어온 request(요청)과 response(응답) 데이터가 들어있다. 

변수를 GET으로 받을때에는 :id라고하면 /user/변수값으로 요청을하면

{id: 변수값}으로 값을 받게된다. 

 

app.listen에서 3000번 포트에대하여 listen하고 있다는 의미이다. 

 

 

js에서 변수를 스트링안에 바로 넣는방법이 있는데 키보드 1옆에 `를 써서 string을 감싸주면 변수값을 스트링에 바로 넣을수 있다. 

const name = 'kim'
fetch(`http://localhost:3000/${name}`)
	.then(());

 

 

# express post body 받는법

const express = require('express')
const app = express()
const multer = require('multer') // v1.0.5
const upload = multer() // for parsing multipart/form-data

app.use(express.json()) // for parsing application/json
app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded

app.post('/profile', upload.array(), (req, res, next) => {
  console.log(req.body)
  res.json(req.body)
})

'Back End > Node js' 카테고리의 다른 글

Node cors 기초  (0) 2024.12.29
npm 모듈다운 명령어  (0) 2024.12.29