Tech note/Micro Tech note
[Node.js] Express로 Static Server 구성 시, 외부 디렉토리를 특정 root로 바인딩하기
야생의개발자
2015. 12. 7. 10:50
node.js를 설치하면, 딸려 설치되는 npm
은 많은 활용성이 있지만, 개인적으로 가장 많이 사용하는 것은 프론트-엔드 개발 시, 빠른 서버 구축으로 개발 환경을 만들 때 많이 사용한다. 또한, 개인적으로 개발 문서를 대부분 .html로 작성하는데 이때 간단히 확인하거나, 디플로이 할때도 많이 사용한다.
문제는 이것 저것 많은 프로젝트와 많은 문서들이 생성이 된다면, 각각 따로 서버를 만들어서 실행하는 건 귀찮은 일이다. 서버는 한 곳에만 설치하고, 이곳에서 다른 외부 디렉토리의 위치를 참조하여 가져오면 어떨까 하는 생각에, static 설정 부분을 건들어 보왔고, 만족스러워 이 포스트를 작성한다.
사용 방식은 이렇다. 서버는 띄어 놓고, 하위 주소로 관련 문서들이나 프로젝트를 접근하는 개념이다. express 4.x 이상에서는 아래와 같은 방법으로 Static Server를 선언하여 사용된다.
app.use(express.static(path.join(__dirname, 'public')));
관련 API 내용은 링크를 참조한다.
이를 가지고, 입맛에 맞게 변경하려면 아래의 예제를 참고하자.
app.use('/bap',express.static(path.join('C:\\Server\\apps\\bap\\src\\main\\resources\\webroot')));
Web 주소 상 /bap
를 우측의 express.static
으로 설정한 디렉토리를 참조하겠다는 내용이며, 위의 예제는 윈도우즈 기반이므로 \
기호를 두개 작성해야 디렉토리 위치로 설정된다는 것은 상식. 앞의 /bap
를 삭제하면, 기본 /
로 설정된다.