더북(TheBook)

22.2.4 정적 파일 제공

 

백엔드 서버에서 CSS와 JS 파일을 불러오려면 정적 파일을 제공해야 합니다. 정적 파일을 제공할 때는 koa-static 라이브러리를 사용합니다. 이 라이브러리를 yarn으로 설치하세요.

$ yarn add koa-static

 

그리고 프런트엔드 디렉터리의 build 디렉터리를 파라미터에 넣어 줍니다. 그러면 웹 서버를 이용하여 build 디렉터리 안에 있는 파일에 접근할 수 있습니다.

src/index.js

(...)
const path = require(‘path’);
const serve = require(‘koa-static’);
 
const staticPath = path.join(_ _dirname, ‘../../blog-frontend/build’);
 
(...)
app.use(serve(staticPath)); // 주의: serve ssr 전에 와야 합니다. app.use(ssr);

 

이 작업을 완료한 후에는 프런트엔드 쪽 코드를 한번 빌드할 건데요. 빌드 전에 해야 할 작업이 하나 있습니다.

create-react-app으로 만든 프로젝트에는 Service Worker 기능이 기본적으로 등록되어 있는데요. 이 기능은 유저가 페이지를 처음 불러오면 페이지에서 사용하는 파일들을 로컬 캐시에 등록하여, 다음부터는 페이지에 접속할 때 서버에 아예 요청하지 않고 로컬에서 꺼내 사용할 수 있게 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.