🫠노마드 코더에서 node.js 학습하면서 메모장에 적어둔 것들을 단순히 옮겨온 글입니다.
[구글링으로 찾은 개념들로 오류가 있거나 미흡할 수 있음]
🌱pug
🌼html을 간결한 코드로 짤 수 있게 해주는 템플릿언어, express뷰엔진
🌱express
🌼nodejs를 사용해서 쉽게 서버를 구성할 수 있게 하는 프레임워크
🌱nodemon
🌼nodejs 기반으로 만들어진 애플리케이션에 변화가 생기면 자동으로 재시작 시켜주는 툴
🌼지금 보니 SpringBoot서버랑 비슷하다🌱babel
🌼자바스크립트 컴파일러. 자스 문법을 지원함
🌱npm(Node Packaged Manager)
🌼nodejs 모듈을 웹에서 받아서 관리해주는 프로그램
🌼maven/gradle같은 개념? 얘는 터미널로 install 시켜줌으로써 설정을 추가함
🌼기본적인 사용방법
1. npm 시작(작업 디렉토리에 json파일 생성): npm init
2. 필요 모듈 설치 : npm i 모듈명
예)
npm i express
npm i pug
3. 서버 실행 : npm run dev🌱기타: html 관련 태그 또는 속성
🌼placleholder : input태그 입력 필드에서 예시로 보여주는 도움말같은 기능
🌼payload : 전송데이터를 뜻함
🌱nodemon
1. src/public의 하위에 있는 모든 파일을 ignore(무시)하는 설정을 함
===> 해당 폴더들이 변경이 되어도 서버가 재시작하지 않음
2. exec : server.js를 실행시키는데 babel-node로 컴파일해서 실행
=> 실행시키면 babel-node는 바로 babel.config.json을 찾음
=> babel.config.json에서 preset 실행🌱public 디렉토리
- 프엔에서 구동되는 코드들 O
- 유저가 볼 수 있는 폴더
- app.js와 css가 존재
🌱server.js
1. 백엔에서 구동
2. express를 import하고, view엔진을 Pug로 설정.
3. view 디렉토리 설정
4. public디렉토리를 유저에게 공개해줌(static)
5. 홈페이지로 이동시 사용될 템플릿을 렌더링 해줌(home.pug)
6. catchall설정 : app.get("/*", (req, res) => res.redirect("/"));
=> 유저가 어떤 url로 이동하던지 홈으로 돌려보냄
=> 다른 url을 사용하지 않고 홈만 사용한다
=> 예) http://localhost:3000/hahaha 라고 입력해도 home으로 돌아감
7. listen()함수 : http 서버를 시작하게 하는 동시에 사용자 요청 대기