npm i express
로 express 설치index.js
로 파일 생성const express = require('express')
const app = express()
const port = 3000
app.get('/', (request, response) =>{
response.send("hello")
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
node index.js
로 서버 실행?키=값&키=값
형식으로 주소를 받아서 작성했는데app.get('/page/:pageId', (request, response) =>{
response.send(request.params)
})
app.get
, app.use
설명app.use([path,] callback [, callback...])
app.get과 app.use의 argument가 같음. 다만 app.use는 path가 옵션임
app.get은 라우팅할 때, app.use는 미들웨어를 사용할 때 쓰는게 아닌가 싶음
app.use는 미들웨어를 사용할 때 쓰이는데 특정 path에서만 쓰일수도 있지만 path와 상관없이 쓰일수도 있어서 path가 옵션인듯
app.get은 라우팅이므로 순서가 상관없는듯? 하지만 app.use는 순서가 중요함
// this middleware will not allow the request to go beyond it
app.use(function (req, res, next) {
res.send('Hello World')
})
// requests will never reach this route
app.get('/', function (req, res) {
res.send('Welcome')
})
app.use('/abcd', function (req, res, next) {
next();
});
이런식으로 next를 인자로 받아 next()를 하면 다음 app.use로 넘어가는듯
에러 핸들링을 할 때는 무조건 인자가 4개 여야함.
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).send('Something broke!')
})