2012-06-18 3 views
75

Node.js와 익스프레스를 처음 접한다면이 두 가지가 겹치는 개념, 라우트와 컨트롤러의 관계를 이해하려고합니다.Node.js + Express : 라우트 대 컨트롤러

나는 app.js + routes/*를 간단하게하는 예제를 보았지만 필요한 다양한 요청을 라우팅하는 것으로 충분합니다.

그러나 컨트롤러를 사용하는 사람들과 더 공식적인 MVC 모델 (???)을 사용하는 사람들도 있습니다.

누군가이 미스테리를 해결할 수 있다면 좋겠지 만 Node.js + Express 프레임 워크에서 컨트롤러를 설정하는 좋은 예가 있다면 좋을 것입니다.

감사, 익스프레스에 대한 멋진 것들을

답변

98

한 (그리고 일반적으로 노드) 당신에 대한 의견을 많이 밀어하지 않는 것입니다; 단점 중 하나는 당신에 대한 의견을지지하지 않는다는 것입니다. 따라서, 당신은 자유롭게 (그리고 필요합니다!) 그러한 의견 (패턴)을 스스로 설정하십시오.

Express의 경우 MVC 패턴을 확실히 사용할 수 있습니다. 원하는 경우 경로 처리기가 확실히 컨트롤러의 역할을 수행 할 수 있지만 그 방법으로 설정해야합니다. 좋은 예가 이라고하는 Express examples folder에서 찾을 수 있습니다. lib/boot.js을 보면 controllers 디렉토리의 각 파일을 요구하는 예제를 설정 한 방법을 볼 수 있으며 컨트롤러에 생성 된 메소드의 이름에 따라 즉석에서 Express 경로를 생성 할 수 있습니다.

+0

[이 꽤 똑똑한 대답] (http://stackoverflow.com/a/12957755/444255)의 첫 번째 단락은 두 용어를 잘 설명하고 구별합니다. –