Skip to content

Express에서 여러 경로를 root path 로 설정

nodejs로 협업을 하다보면 웹 사이트와 관리자를 분리할 필요가입니다.

그냥 웹 디렉토리에 /admin 디렉토리를 만들어서 사용해도되지만 요즘(2017년 기중)은 admin을 위한 전용 CMS를 설치하기도 한다.

문제이 이때 발생하는데, 전용 CMS는 별도의 패키지를 가지기 때문에 웹 메인 디렉토리와 별도로 구성해야 한다.

이는 express에서 설정해야하는데 방법은 아래와 같다.

1) 보통 이렇게 되어 있는 경로에 cms를 추가하면 동작하지 않는다.
[js]
app.use(express.static(([웹 경로])));
app.use(express.static(([cms 경로])));
[/js]
2) 이렇게 별도로 지정해야 완전히 독립된 디렉토리로 동작하게 된다.
[js]
app.use(‘/cms’, express.static([cms 경로]));
app.use(‘/’, express.static(path.resolve([웹 경로]));
[/js]
3) 이제 router에서 /cms로 들어오는 경로를 설정해 주면 된다.
[js]
app.route(‘/cms/*’)
.get(function(req, res) {
console.log(app.get(‘cmsPath’));
res.sendFile(([cms 경로 + ‘index.html’]));
});

app.route(‘/*’)
.get(function(req, res) {
res.sendFile(([cms 경로]) + ‘index.html’);
});
[/js]

Published inNodeJs