정보기술, IT/IT source

미티어 라우터 정리

100sk 2015. 8. 5. 17:22


Router 용어

이 장에서 우리는 라우터의 많은 다양한 기능을 다룰 것이다. Rails와 같은 프레임워크에 대한 경험이 있다면, 이 개념의 대부분에 이미 익숙할 것이다. 하지만, 그렇지 않다면 좀 더 빠르게 배울 수 있도록 용어를 제공한다:

  • 루트(Routes): 루트는 라우팅의 기본 구축 블록이다. 이것은 앱에게 어디로 갈지 그리고 URL을 만나면 무엇을 할 지를 지시하는 지침의 집합이다.
  • 경로(Paths): 경로는 앱에 있는 URL이다. 이것은 정적(`/termsofservice`)일 수도 있고, 동적(`/posts/xyz`)일 수도 있으며, 쿼리 매개변수(`/search?keyword=meteor`)를 담을 수도 있다.
  • 세그먼트(Segments): 슬래시 문자(`/`)로 구분되는 경로의 일부를 의미한다.
  • 후크(Hooks): 후크는 라우팅 프로세스의 전, 후 또는 그 프로세스 중간에 실행될 수 있는 동작이다. 전형적인 예제로는 페이지를 보여주기 전에 사용자가 적절한 권한을 가지고 있는지 확인하는 것이 있다.
  • 필터(Filters): 필터는 하나 이상의 루트에서 전역적으로 정의하는 단순한 hook이다.
  • 루트 템플릿(Route Templates): 각 루트는 템플릿을 지정해야 한다. 만약 템플릿을 지정하지 않으면, 라우터는 루트와 이름이 같은 템플릿을 찾는다.
  • 레이아웃(Layouts): 레이아웃은 디지털 사진 프레임의 하나로 생각할 수 있다. 레이아웃은 현재의 템플릿을 감싸는 모든 HTML 코드를 포함하며, 템플릿이 변경되어도 현재 상태를 유지한다.
  • 컨트롤러(Controllers): 때때로, 많은 템플릿이 동일한 매개변수를 재사용하는 것을 볼 수 있다. 이 경우에 코드를 반복하는 대신에, 이런 루트들마다 라우팅 로직 전체를 담고 있는 하나의 routing controller에서 상속받아 구현하게 할 수 있다.

Iron Router에 대하여 더 자세히 알고 싶다면, GitHub에 있는 문서를 참조하기 바란다.

Meteor.call 함수의 첫 매개변수에는 메서드 이름을 넣는다. 이 함수를 호출할 때, 여러 매개변수를 전달(이 경우, 입력 폼에서 구성한 post객체)할 수 있다. 그리고 마지막에 콜백함수를 추가하는데 이 함수는 서버쪽의 메서드가 수행된 다음에 실행된다. 

Meteor method 콜백은 항상 2개의 매개변수 error와 result를 가진다. 어떤 이유로든 error 매개변수가 있으면, 사용자에게 (콜백을 취소하기 위하여 return을 통해서) 경고를 보낸다. 만약 모든 것이 잘 돌아가면, 사용자를 새로 만든 post 토론 페이지로 redirect한다.


 audit-argument-checks 패키지를 이용하여 method에 보안을 추가


_.extend()는 Underscore 라이브러리의 method로서, 단순히 하나의 객체에 속성을 추가하여 “확장”하는 기능을 한다.



실습 예제)

Router.configure({
layoutTemplate: '기본 셋팅할 html화면'
});


Router.route('/', { //디폴트 루트 경로 설정
name: 'template명기입', //디폴트 화면 지정 template 이름
data: function() {
return [];
}
});


또 다른 표현은

Router.map(function() {

this.route('template명기입', {path: '/'}) ;
});