
USER 라우트
const express = require('express')
const router = express.Router();
router.use(express.json());
// 회원가입
router.post('/join', (req, res) => {
res.json('회원가입');
});
// 로그인
router.post('/login', (req, res) => {
res.json('로그인');
});
// 비밀번호 초기화 요청
router.post('/reset', (req, res) => {
res.json('비밀번호 초기화 요청');
});
// 비밀번호 초기화
router.put('/reset', (req, res) => {
res.json('비밀번호 초기화');
});
module.exports = router
APP.JS
const express = require('express');
const app = express();
const dotenv = require('dotenv');
dotenv.config();
//유의미한 포트 번호 지정
app.listen(process.env.PORT);
const userRouter = require('./routes/users');
const bookRouter = require('./routes/books');
const likeRouter = require('./routes/likes');
const cartRouter = require('./routes/carts');
const orderRouter = require('./routes/orders');
app.use("/users", userRouter);
app.use("/books", bookRouter);
app.use("/likes", likeRouter);
app.use("/carts", cartRouter);
app.use("/orders", orderRouter);
Express-generator 프로젝트 구조
- bin/www : 포트 번호 등과 같은 웹 서버를 구축하는 데에 필요한 설정 데이터가 정의 돼 있는 파일 ⇒ .env 파일과 같이 설정 값을 가지고 에러 처리, 기타 추가 설정을 해주는 파일
- node_modules : Node.js, Express에 필요한 모듈들이 설치돼 있는 폴더
- public : images, javascript, stylesheets 등과 같은 정적 파일(ex. 로고, 회사 소개 페이지 등등..)
- cf. 동적파일 : 사람마다 다른 데이터를 가진 파일
- routes : 각 경로를 담당하는 모듈들이 들어있는 폴더 ⇒ 라우팅 로직을 구현하는 모듈들 : 클라이언트에서 어떤 요청을 주냐에 따라서 어떤 로직을 수행할 지 파일별로 분할 해서 관리하는 정도 (cf. 자바의 controller 역할)
- views : 클라이언트에게 html 코드로 “화면을 보내는 파일”
- app.js : 서버의 시작점 ⇒ URL에 따라서 라우팅을 해줌
- package.json : 이 프로젝트에 설치된 모듈들에 대한 이름, 버전 등등의 정보들이 작성돼 있는 파일