Grace
grace's dev_note
Grace
전체 방문자
오늘
어제
  • 분류 전체보기
    • FrontEnd
      • Next.js
      • React
      • ReactNativ..
      • Vue
    • Javascript
      • 러닝 자바스크립트
      • 모던 자바스크립트
    • CS
    • DataScienc..
      • Data Struc..
      • LeetCode
    • BackEnd
      • Express
      • Node.js
      • Nest.js
    • DevOps
      • Docker
    • 매일메일
    • 회고
    • 코드캠프

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • postgres
  • Vue.js
  • Express
  • Vue3
  • Vite
  • 함수
  • 자바스크립트
  • backend
  • tanstack
  • Vue
  • vue-query
  • 번들러
  • vitejs
  • javascript
  • nest.js
  • PostgreSQL
  • pinia
  • React Native
  • node.js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Grace

grace's dev_note

카테고리 없음

[Express] Get Started

2023. 4. 19. 10:04

npm install express

// app.js (index.js)

const express = require('express')
const app = express()
const port = 3000 

app.get('/', (req, res) => {
  // 로직 작성
})

app.post('/', (req, res) => {
  // 로직 작성
})

app.put('/', (req, res) => {
  // 로직 작성
})

app.delete('/', (req, res) => {
  // 로직 작성
})

// app에서 3000번 포트로 연결
app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

폴더구조

├── config
│		└── ...
├── controller
│		└── ...
│		└── index.js
├── middleware
│		└── ...
├── models
│		└── ...
│		└── index.js
│		└── sequelizeConfig.js
├── routers
│		└── ...
│		└── app.js
│		└── paramsList.js
│		└── swagger-output.json
│		└── swagger.js
├── util
│		└── ...
└── index.js

정적 파일 제공

// public이라는 이름의 디렉토리 제공
app.use(express.static('public'));

// public 디렉토리 내부의 파일 업로드
http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html

/* 가상 경로(파일 시스템 내에 해당 경로가 실제로 존재하지 않는 경우)
    마운트 경로 지정 */
app.use('/static', express.static('public'));
/* 프로젝트 예시
    const path = require('path');
    ...
    app.use('/static', express.static(path.resolve('dist'))); */

path.join vs. path.resolve
path.join

path.join은 왼쪽에서부터 순차적으로 경로를 단순 조합하여 리턴한다.

  • path.join('foo/bar', '../baz/qux'); // 'foo/baz/qux'

path.resolve

path.resolve는 오른쪽 인자부터 경로를 확인한다.

만약 인자를 오른쪽에서부터 확인하다가, /dir 처럼 절대경로 구분자(/)가 앞에 있는 경우, 해당 인자를 root로 절대 경로를 리턴한다.

  • // '/foo' 왼쪽의 'qux' 인자는 무시된다.
    path.resolve('qux', '/foo', 'bar', 'baz'); // '/foo/bar/baz'

단, /foo가 루트 폴더가 아닌 경우, working directory를 기준으로 루트 폴더(/foo)까지의 경로를 붙여 절대경로로 반환한다.

  • // 현재 파일을 실행시키는 경로가 User/aaa/bbb/test.js인 경우,
    path.resolve('/foo', 'bar', 'baz'); // 'User/aaa/bbb/foo
저작자표시 비영리 변경금지 (새창열림)
    Grace
    Grace
    기술 및 회고 블로그

    티스토리툴바