개발 창고/NodeJS

[File] 웹서버에 정적 파일 접근 기능 추가하기

로이제로 2022. 3. 31. 09:00
반응형

node는 기본적으로 동적 파일별로 접근을 선언해서 사용합니다.

때문에 정적 파일인, 이미지 파일(jpg, png, gif, 등)나 스크립트 파일(js) 등 정적 파일에 대해서 일일이 선언해서 사용하는 건 뭔가 불필요한 작업으로 보입니다.

이를 해소하기 위해서 express라는 미들웨어 함수를 사용하게 됩니다.

 

1. express 설치

 > npm i express --save

 

2. 서버 스크립트 내 express 사용 추가

let express = require('express');
let app = express();

...

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

이렇게 public이라는 폴더나 files라는 폴더를 선언해두고, node프로젝트 root의 하위에 public이나 files폴더를 생성하면, 해당 폴더 내 파일에 접근 시에는 단순히 /image.jpg, /script.js 등으로 접근이 가능합니다.

 

만약 내 서버를 http://localhost:3000으로 지정해두었다고 가정하고, 위의 이미지의 remote.js에 접근하려면,

 

http://localhost:3000/js/remote.js

 

로 호출해주면 해당 파일로의 접근이 가능합니다.

반응형