개요
쇼핑몰 제작 팀 프로젝트에서 백엔드를 담당하게 됐다. 배울때는 할 수 있을 것 같았는데, 받은 코드의 폴더가 나뉘어져 있어서 각각 폴더가 어떤 역할을 하고 어떤 흐름으로 연동되는지 정리하려 한다.
db : 데이터가 array형식으로 저장되어 있다.
routers : 라우터들이 구현되어 외부에서 사용할 수 있게 export 되어있다.
services : 필요한 기능들이 함수 또는 클래스로 구현되어있다. 클래스로 만들어져 있다면 객체를 생성한 후, export 해준다.
static-files : bulma 관련 코드들, 프론트에서 백을 향해 fetch함수를 통해 요청을 보낸다. 그리고 결과를 받아서 , html 스크립트에 적용한다. 즉 pug와 같은 라이브러리인 것 같다.
app.js : 백엔드의 main이라고 할 수 있는 파일, 라우터들을 import해서 app.use, 등으로 적용시킨다. 순서가 중요하기 때문에 순서에 신경써야한다.
app.use(express.static('static-files')) << 이런식으로 static-files 폴더를 지정하면 자동으로 경로에 html을 띄우게 설정할 수 있다..
index.js : 포트를 이용해 서버를 작동한다.
서버작동 =>
app.js를 통해 라우터가 등록됨 =>
사용자로부터 요청을 받음 =>
routers 에서 요청에 따른 결과를 반환함 (이 안에 router에서 요청을 처리하는데 필요한 기능들을 services에서 가져온다.) =>
router에서 res등을 이용해 요청에 응답. =>
static-files의 scripts.js 에서 응답을 받아서 처리함.
중간에 bulma가 섞여서 좀 헷갈리긴 했으나 이런 흐름이라고 생각하면 될 것 같다.
'Develog > TIL' 카테고리의 다른 글
Webpack (0) | 2023.06.29 |
---|---|
Expo ReactNative Storybook 도입시 Constants.expoConfig.extra.storybookEnabled === undefined in windows (0) | 2023.06.18 |
express 경로 이해하기 (0) | 2022.05.17 |
게임 랜덤 뽑기시스템 구현 (0) | 2022.05.14 |
Blob (0) | 2022.04.20 |