2017-12-25 2 views
2

익스프레스에서 CMS 응용 프로그램을 개발 중입니다. 관리는 다음과 같이 자신의 경로를 구성 할 수있다 (페이지 2 뷰를 렌더링)express js의 다중 레벨 라우팅

도메인/N1/N2/페이지 2 (PAGE1 뷰를 렌더링)

도메인/F1/F2/F3/F4/PAGE1

그래서 기본적으로 정적 컨트롤러를 사용할 수 없다는 것을 알고 있습니다.

router.get *을 사용하여 모든 경로를 캐치해야하고 (렌더링하려면 뷰를 가져 오기 위해 goto db를 사용해야합니까?) 이러한 종류의 동적 라우팅에 적합한 최적의 방법은 무엇입니까? 사전에

감사

답변

0
당신은 page1로 끝나는 모든 경로와 일치하고 따라 뷰 렌더링하기 위해 별표 (*)를 사용할 수 있습니다

:

// match routes that ends with 'page1' 
app.get('/*/page1', function (req, res) { 
    res.render('page1'); 
}); 

을 아니면 변수로 경로 핸들러를 설정 한 후 사용할 수 있습니다 여러 경로를 처리하는 방법 :

// create page1 route handler 
var hadnlePage1 = function (req, res) { 
    res.render('page1'); 
} 

app.get('/definePage1Route/:route', function (req, res) { 

    // GET /definePage1Route/f1%2Ff2%2Ff3%2Ff4%2Fpage1 
    // req.param.route => /f1/f2/f3/f4/page1 
    app.get(req.params.route, handlePage1); 

    res.end('done'); 

});