2014-11-05 3 views
1

angular.js 라우팅을 사용하는 애플리케이션을 고려해보십시오. HTML5 모드를 사용각도 라우팅에서 경로를 제외하는 방법은 무엇입니까?

function($routeProvider) { 
    $routeProvider 
     .when('/this', { //..}) 
     .when('/that', { //::}) 
     .otherwise({ 
      redirectTo: '/this' 
     }); 

경우, 서버 쪽 루트는 각도에 위임하기 위해 구성해야합니다 하나는 각도에 경로를 /this/that을 위임하기 원하고, 이러한 유사 응용 프로그램에 코딩되어 있다고 가정합니다. 내가 지금 가지고있는 것은 : 이제

app.get('/*', function(req,res){ 
    res.render('home.ejs'); 
    }); 

, 내가 서버에서 직접 처리, 예를 들어, /those을 어떤 경로를 가지고 싶습니다. 현재 구성에서는 이 /*에 의해 인터셉트됩니다. 나는 가능한 솔루션 즉, 서버에서 모든 각도 경로를 열거하는 것입니다 알고 :

app.get('/this', function(req,res){ 
     res.render('home.ejs'); 
     }); 
app.get('/that', function(req,res){ 
     res.render('home.ejs'); 
     }); 

작동하지만, 뭔가를 잊고 버그를 생성하기 쉽기 때문에 추한 미끄러이.

질문 : 서버 측 라우터에 /*을두고,이 특정 app.get('/those',..)이 구현되어야하는 /those을 포함하지 않도록 지정할 수있는 방법이 있는지 궁금 해서요.

+0

마지막 의견에 링크 된 답변은 아마도 나중에 어떤 문제를 치료할 것입니다. –

+0

나는이 게시물을 읽었으며이 질문에 대한 답변이 포함되어 있는지 확실하지 않습니다. 여기에서 주목할 점은 ''태그가 각진 점프를하더라도'/ those'가'/ *'에 의해 가로 챌 것이고'/ those'에 적합한 내용이 아니라 집으로 돌아올 것이라는 점입니다. – ZzKr

+0

아, 잡았다. 깃발이 삭제되었습니다. –

답변

0

이 솔루션은 유사하게 명시 서버 경로를 구성하는 것입니다

app.get('/those',..); 
... 
app.get('*', function(req,res){ 
    res.render('home.ejs'); 
    }); 

경로 '*'는 경로 파일의 맨 끝에 있습니다. 이렇게하면 '*'은 파일에서 이전에 명시 적으로 지정되지 않은 경로 만 차단합니다.

관련 문제