본문 바로가기
728x90

분류 전체보기286

dotenv, morgan, express-session, cookie-parser 1. dotenv 환경 변수를 .env파일에서 불러오는 모듈이다. 세션, 쿠키의 경우 키가 필요한데 이를 코드에 직접 넣을 경우 코드가 유출되면 키도 같이 유출되는 문제가 있다. 이를 방지하기 위해 .env파일에 이를 저장하고 process.env.VALUE_NAME을 통해 불러온다. .env에는 VALUE_NAME=value_name이런식으로 쌍을 이루게 해서 저장하면 된다. 2. morgan morgan은 서버 실행 시 request/response 로그를 서버 터미널에서 보여준다. app.use(morgan(option))을 통해 사용 가능하며 option에는 dev, tiny, short, common, combined가 들어갈 수 있다. 각 option별로 터미널에서 보여주는 로그의 정보 양이 .. 2020. 11. 26.
미들웨어 메서드와 주소가 있는 것을 라우터라 부르는데 이 라우터를 여러개 생성하다 보면 중복된 코드를 사용하는 경우가 생긴다. 이때 중복 사용되는 코드를 일일이 적지 않고 미들웨어를 사용하면 코드가 더 깔끔해 진다. express는 미들웨어로 구성되 있고 app.use(미들웨어)의 형식으로 사용된다. 미들웨어는 req, res, next가 매개변수인 함수를 위미하며 위에서 아래로 실행된다. 미들웨어는, 라우터는 조건이 일치하는 것을 찾아 실해이하기 때문에 범위가 작은거 부터 범위가 큰 순으로 코드를 작성해야 한다. 미들웨어는 기본적으로 조건이 충족되면 실행하고 다음으로 넘어가지 않는다. 따라서 미들웨어 맨 마지막에 next();를 추가해야 다음 미들웨어로 넘어간다. 또 한 try{....}catch(err}{ne.. 2020. 11. 26.
express html 파일 서빙하기 express로 html 파일을 서빙하기 위해서는 res.send()대신 res.sendFile()을 사용하면 된다 위 예제에서 파일을 서빙할때 path.join(__dirname, './public/index.html');을 사용했다. path는 운영체제 별로 경로를 표시하는 방법이 다른 문제를 해결해 주는 모듈이다. path.join()은 상대경로를 합쳐 절대 경로로 바꾸어 준다. __dirname은 현재의 경로를 의미하고 './public/index.html'은 원하는 파일의 경로이다. 2020. 11. 26.
Express 시작 1. http모듈로 웹 서버를 만들 수 는 있지만 확장성이 떨어지고 코드가 더러워진다. 이 문제를 해결하기 위해 프레임워크를 사용한다. 이러한 프레임 워크로는 Koa, Hapi등이 있지만 express가 가장 많이 쓰인다. 2. 아래 코드를 통해 연결을 할 수 있다. npm만 사용한다면 npm app.js를 사용해야 하지만 서버 를 구동할때 편의를 위해 nodemon을 사용했다. npm만 사용하면 서버를 수정한 뒤 수동적으로 재시작을 해야하지만 nodemon을 사용하면 수정 후 저장을 했을때 자동으로 서버를 다시 시작해준다. nodemon은 개발시에만 필요한 모듈이므로 npm i -D nodemon으로 설치해 주자. 그 후 package.json의 scripts 부분에 "start": "nodemon [.. 2020. 11. 26.
728x90