본문 바로가기
728x90

node.js/module5

multer express.urlencoded()의 경우 이미지, 동영상을 인코딩 하지 못한다. 따라서 multer로 동영상, 이미지를 인코딩 해야 한다 const multer = require('multer'); const upload = multer({ //스토리지 설정. diskStorage: 디스크에 저장 //memoryStorage: 메모리에 저장 storage: multer.diskStorage({ //저장할 파일이 없으면 에러를 방지하기 위해 파일을 만들어 준다 destination(req, file, done){ done(null, 'uploads/'); }, filename(req, file, done){ //확장자 추출 const ext = path.extname(file.originalname);.. 2020. 11. 26.
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.
728x90