2017-01-21 1 views
0

이미 비슷하게 보인 similar thread이 있지만 여기에 몇 가지 다른 문제가 있습니다.NodeJS에서 전체 동적 URL을 얻는 방법은 무엇입니까?

URL이 동적 인 전체 URL을 원합니다. 내 모든 페이지에 일반적인 공통 템플릿을 사용하고 있습니다.

하자.

/블로그/일/두/세

은 특히,이는 "하나의"정적 그러나 "이"을 "블로그"와 "세"

입니다 : 내가 URL 경로를했습니다 가정 변수는 내 웹 사이트에서 요청한 블로그 게시물에 따라 변경됩니다.

": post"를 전달하여 URL을 가져 오는 데는 다음 코드를 사용하지만 URL에 "one", "two"또는 "3"과 같은 경로 하위 디렉토리를 추가하는 방법은 어떻게됩니까? "템플릿을 찾을 수 없습니다"오류가 발생했습니다.

router.get('/blog/:post', function (req, res) { 
      var path = req.params.post; 

      var title2 = JSONFile[path].title; 
      var date2 = JSONFile[path].date; 
      var author2 = JSONFile[path].author; 
      var content2 = JSONFile[path].content; 

      res.render('blogposts.html', { 
        title : title2, 
        date: "date2", 
        author: "author2", 
        content: "content2" 
      }); 
    }); 

내 질문은 : 어떻게 "/ blog"뒤에 모든 동적 URL 하위 경로를 가져올 수 있습니까? 그리고 하위 경로는 "4"또는 "5"등으로 확장 될 수 있습니다.

답변

0

1, 2 및 3의 위치에 3 개의 매개 변수가 있고 모두 동적이며 코드에서이 매개 변수를 사용한 후에 일부 콘텐츠를 제공하려고한다고 가정합니다. 당신은

var year = req.params['year'], 
    month = req.params['month'], 
    day = req.params['day']; 

URL에서 3 개 이상의 매개 변수가있는 경우에 당신이 더 추가 할 수 있습니다,

/blog/:year/:month/:day 

이 방법은 모든 3 개 개의 매개 변수는 동적이며 다음과 같이 액세스 할 수 있습니다,이로 교체 할 수 있습니다 이

/blog/:one/:two/:three/:four/:five 

그들 모두 같은 자리는 req.params

에서 액세스 할 수 있습니다
관련 문제