nodejs 시작하기

Posted by

설치

패키지 의존성 파일 생성(package.json)

npm init

주요 패키디 설치

npm i express // express
npm i -g -D nodemon // 코드 편집 시 자동 재시작(-D 디버그 환경에서만 설치)
npm i dotenv // 환경파일(.env) 사용
npm i morgan  // 추가적인 로그 출력
npm i multer // 멀티파트 폼데이터(파일 업로드)

실행

nodemon src/app.js

미들웨어

https://expressjs.com/ko/api.html

const app = express();

app.use(미들웨어); // 모든 요청 시 실행되는 미들웨어 설정
app.use('/page', 미들웨어); // page로 시작되는 요청에서...
app.post('/page', 미들웨어); // page로 시작되는 POST 요청에서...

404 처리, 에러 처리

app.use((req, res, next) => {
    res.status(404).send('Not found');
});

app.use((err, req, res, next) => {
    console.error(err);
    res.status(500).send(err.message);
});

라우터

API 버전 처리

// routeV1.js
const router = express.Router();

router.get('경로', (req, res) => {});

module.exports = router;

// app.js
const routeV1 = require('./routes/routeV1');
app.use('/v1', routeV1);

req, res 객체

  • req 객체
    • req.app – app 객체 접근
    • req.body – bodyParser 미들웨어가 만든 요청 본문 해석
    • req.ip
    • req.params – 라우트 매개변수에 대한 정보 객체
    • req.get(header) – 해더 값에 접근
  • res 객체
    • res.end()
    • res.set(header, value) – 해더 값 설정
    • res.status(code) – 상태코드 지정
    • res.send(data) – 데이터 응답
    • res.redirect(url) – 페이지 이동

Cors

클라이언트와 서버의 호스트가 다른 경우 cors 오류 발생(통산 개발환경에서 발생)

npm i cors

react에서 대처 법

npm i http-proxy-middleware
  • package.json에서 proxy 지정
  • api 호출 시 호스트 제거(e.g. http://host.com/login -> /login),

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다