https://opentutorials.org/course/3370생활코딩님의 Express.js강의를 참고하였습니다.1.파일 분리동일한 세부주소를 가진 라우트 핸들러들을 분리한다. 2.express.Router()Express에서 서브 라우터 객체를 생성하는 코드이다.이 라우터 객체를 사용하면 모듈 단위로 라우트를 관리할 수 있고, 이를 통해 어플리케이션의 라우트를 보다 구조화하고, 유지보수하기 쉽게 만듭니다.var express = require('express');var router = express.Router(); 3. module.exports = router;router 객체를 외부로 내보내기 위한 코드다른 파일에서 router 객체를 가져와 사용할 수 있게 됩니다.modul..
https://opentutorials.org/course/3370생활코딩님의 Express.js강의를 참고하였습니다.1.404 에러페이지가 없을때 나오는 에러 -> 라우터 핸들러 맨 아래에 위치시킨다 (미들웨어는 작성순서대로 작동하기떄문)//오류처리app.use(function(req,res,next){ res.status(404).send('페이지가없어요.')}) 2.에러 처리다른 라우터 핸들러에서 next(err)로 에러를 날리면 오류 처리 함수를 통해 오류를 받는다.이때 오류처리함수는 첫번째 인자에 err가 추가되어있다.app.get('/page/:pageId', (request, response,next) => { var filteredId = path.parse(request.pa..
https://opentutorials.org/course/3370생활코딩님의 Express.js강의를 참고하였습니다.1. 정적파일 미들웨어 express.staticExpress에서는 기본적으로 정적파일을 제어하기위한 미들웨어 함수 express.static을 제공한다.app.use(express.static('디렉토리이름'));형식으로 작성하여 파일의 직접적인 제공을 할수있다.app.use(express.static('public'));//http://localhost:3000/images/kitten.jpg 2.가상 경로 접두부정적 디렉토리에 대한 마운트 경로를 지정할수도있다.app.use('/static', express.static('public'));//http://localhost:30..
https://opentutorials.org/course/3370생활코딩님의 Express.js강의를 참고하였습니다.1.next()미들웨어와 라우트 핸들러 사이에서 제어를 넘기기 위해 사용app.use(function (req, res, next) { console.log('Time:', Date.now()); next();}); 2.여러개의 미들웨어여러개의 미들웨어가 하나의 라우트 핸들러가 있으면 next()를 통해 해당 라우트핸들러 내부의 다음 미들웨어로 넘어간다.next('route')를 한다면 다음 라우트핸들러로 제어가 넘어간다.app.get('/user/:id', function (req, res, next) { // if the user ID is 0, skip to the nex..
https://opentutorials.org/course/3370생활코딩님의 Express.js강의를 참고하였습니다.1. 기존에 반복되던 코드기존 GET 요청들에 대해 ./data의 파일리스트를 불러오는 함수들이 반복되고있었다.이 함수를 미들웨어로 하여 작동하도록 만든다.fs.readdir('./data', function(error, filelist){}); 2. app.use 방식모든 모든 HTTP 메서드(GET, POST, PUT 등)에 대해 미들웨어를 적용이제 본래 fs.readdir 을 사용하던 곳에서 filelist 대신 request.list 로 파일리스트에 접근할수있게되었다.하지만 POST 와같은 곳에도 적용되기에 비효율적이다.app.use(function(request,resp..
https://opentutorials.org/course/3370생활코딩님의 Express.js강의를 참고하였습니다.1.compressionExpress에서 사용되는 미들웨어로, 서버에서 응답을 클라이언트로 전송할 때 데이터를 압축하여 전송할 수 있게 해줍니다.const compression = require('compression');const app = express();// compression 미들웨어 활성화app.use(compression());