server side
-
axios 비동기 처리 .then 에서 async await으로 갈아타기server side/Node.js 2020. 3. 20. 14:07
최신 문법인 async await을 특별한 이유 없으면 쓰는 게 좋다는 피드백을 받았다. 기존에 .then을 쓴 이유는 단순히 익숙해서. 비동기 함수를 async await으로 바꾸려고 하니까 에러 처리를 어떻게 하는지 약간 헤맸다. 기존에는 에러를 .catch로 받아서 넘겼는데 async await에서는 에러를 어떻게 받는지 알아보자 try catch 구문을 사용하면 된다. const getEventLists = async () => { try { const res = await axios.get(serverurl + '/api/admin/events/list'); console.log(res) } catch(error) { console.log(error.response) } }; 아직 해결 못한 궁..
-
서버에 응답 헤더 설정하고 클라이언트에서 확인하기server side/Node.js 2020. 3. 19. 16:13
상황 리액트로 클라이언트를 구현하고, express로 서버를 구현하는 프로젝트에서 로그인에서 jwt 토큰을 사용하기로 했다. 서버에서 토큰을 처음 생성해서 클라이언트에 건내줄 때 헤더에 넣어서 보내줘야 한다는 의견이 있었다. 나는 클라이언트가 토큰을 보낼 때 헤더에 넣는 거고, 서버는 그냥 응답 바디나 쿠키에 넣어주는 거라고 알고 있었다. 그래서 클라이언트에서 서버 응답 헤더를 볼 수 있는 방법을 몰랐다. 아무튼 그래서 찾은 방법은 다음과 같다. 1. 서버에서 응답 헤더 설정하기 app.post('/test', (req, res)=>{ res.set("name", "value") // 헤더 키, 값 설정 res.send(); }) 2. 클라이언트에서 응답 헤더 확인하기 async function requ..
-
[multer] 이미지 express 서버에서 처리하기server side/Node.js 2020. 2. 29. 14:37
DB에 이미지를 직접 저장하지 않는다. DB는 비싸고, 용량이 큰 이미지를 저장하기 적합하지 않다. 이미지를 저장하는 공간을 확보하고 그 경로를 DB에 저장한다. 지금은 서버에 그냥 폴더를 만들어서 저장 (S3버켓을 사용해서 저장하는 방법으로 바꿀 예정) 클라이언트에서 이미지를 보내주면 서버에서 처리하는 건 의외로 간단하다. multer모듈을 사용해서 저장하면 된다. multer 모듈을 사용해서 npm install multer 서버 안의 폴더에 이미지 파일을 저장한다. const multer = require('multer'); const upload = multer({ dest: './upload' }); upload 폴더에 이미지를 저장 app.use('/image', express.static('..
-
노드 모듈 fs 사용하기 (파일 읽기 쓰기server side/Node.js 2020. 2. 3. 14:55
fs는 노드에서 파일을 읽고, 쓰는데 사용하는 모듈임 const fs = require('fs'); 👆 노드에서 모듈을 불러오는 것은 commonJs 방식을 사용한다. 파일을 읽으려면 fs.readFile('현재위치기준 경로', '인코딩방식', 콜백함수) 콜백함수 매개변수는 error, data다. 예시) fs.readFile('index.txt', 'utf8', (err, data)=>{ console.log(data); }) 비동기로 작동하지만 동기로 작동하게 할 수도 있는 것 같다. 현재 폴더에 읽고 쓸 파일인 index.tet를 생성하고 안녕하세요! 라고 적어줍니다. practice.js는 이렇게 작성합니다. 콜백함수의 data에 읽을 파일의 내용이 string 형식으로 전달됩니다~ node로 p..