본문 바로가기
Back-End/node.js

Express 모듈에서 static file의 서비스

by blackjack_96 2022. 3. 1.

# 본 게시물은 egoing님의 생활코딩 강의를 정리한 것입니다.

 

Node.js로 express모듈을 사용하여 정적인 파일을 서비스

 

 * 여기서 정적인 파일이란 : CSS,Javascript,이미지 등의 파일을 말합니다.

app.use(express.static('public'));

 

 
이렇게 하면
"CSS, javascript, 이미지 파일과 같은 static file을 불러올 때
main.js디렉토리 내에 존재하는 public이라는 디렉토리에서만 찾아라"라고
node.js 애플리케이션에게 말해주는 것이다.
 
 
 
저장 후에 웹 애플리케이션을 실행하고
127.0.0.1:3000/images/a.jpg라고 하면
 
 
 
127.0.0.1:3000라는 웹 서버에게 images/a.jpg라는 이미지 파일을 요청하는 것이다.
그러면 이 애플리케이션은
위 이미지를 찾을 때
public/images/a.jpg를 검색하여 찾아낸다.
 
 
 
또한, 위에서 지정해준 대로
public 디렉토리 이외의 디렉토리의 static file에는
url로 접근할 수 없기 때문에 보안상 안전하다.
 
 
 <!doctype html>
    <html>
    <head>
      <title>WEB1 - ${title}</title>
      <meta charset="utf-8">
    </head>
    <body>
      <h1><a href="/">WEB</a></h1>
      ${list}
      ${control}
      ${body}
      <img src="/images/a.jpg" style="width:200;">
    </body>
    </html>
 

12행에서도 마찬가지로,

앱 애플리케이션은 /images/a.jpg라는 파일을

public디렉토리에서 찾으므로

최종적으로는

public/images/a.jpg라는 파일을 검색하여 로드하게 된다.