2016-09-08 2 views
0

이 질문이 너무 일반적인 경우 사과드립니다. 이것은 "의견 기반"답변에 대한 초대가 아닙니다. 불행히도, 프로젝트의이 단계에서이 공간에 대한 제한된 지식으로, 나는 좀 더 경험 많은 사람들이 지침을 필요로합니다.Node.JS에 "미들웨어"를 작성하는 방법

대규모 회사 프로젝트에서 NOSQL 데이터 모델을 기반으로하는 웹 서비스가 있습니다. 나는이 서비스의 디자인에 거의 영향을 미치지 않는다. 데이터 구조 때문에 크고 복잡한 모바일 응용 프로그램 (다중 플랫폼 용)의 개발을 감독 할 때 필요한 정보를 얻기 위해 여러 끝점을 차례로 호출해야하는 경우가 종종있었습니다.

예를 들어, 사용자 ID를 얻기 위해 특정 매개 변수를 보내는 엔드 포인트를 먼저 호출 한 다음 해당 사용자 ID를 사용하여 사용자에 대한 세부 사항을 가져와야합니다. 시스템은 첫 번째 호출에서 사용자 세부 정보를 전달할 수 없습니다. 이로 인해 클라이언트에서 복잡한 데이터 구문 분석 및 백그라운드 프로세스가 발생합니다.

모바일 개발을 단순화하기 위해 이제 모바일 클라이언트 용 API를 단순화하는 "미들웨어"계층을 구축하고자합니다. 응용 프로그램은 미들웨어를 단일 입력 지점으로 호출하고, 미들웨어는 기존 끝점을 호출하여 필요한 데이터를 수집하고 그 결과를 다시 클라이언트에 전달합니다.

예를 들어, 클라이언트는 특정 사용자를 찾고 API 엔드 포인트로이 사용자의 특정 속성 (예 : 사용자의 모든 친구의 이름)을 제공해야합니다. 미들웨어는 사용자를 검색하고, 결과 (사용자 ID)를 사용하여 사용자의 세부 정보 및 친구를 얻고, 전달 된 친구의 사용자 ID를 사용하여 친구에 대한 데이터를 수집합니다. 그런 다음 미들웨어는 정보를 패키징하여 클라이언트에게 다시 전달합니다.

첫 번째 권장 사항은 Node.JS가 유지 보수 가능하고 확장 가능한 방식으로 이러한 유형의 기능을 개발할 수있는 좋은 프레임 워크라는 것을 나타냅니다.

좋아, 노드 시스템에서 간단한 서버를 실행하고 경로를 관리하는 방법을 알고 있지만 어떻게이 프로젝트를 구성 할 수 있습니까? 파일 구조? 캡슐화 할 구성 요소 노드 상단에 그런 작업을하는 데 도움이되는 프레임 워크가 있습니까?

나는 경험이나 지식을 바탕으로 한 통찰력있는 추천을 위해 "의견"을 찾고 있지 않습니다. 당신이 그것에 대해 마음에 들지 않는 것을 진술하고 명확한 질문을하기 위해 가능한 한 빨리 답변 할 것입니다. 감사.

답변

1

어떻게이 프로젝트를 구성 하시겠습니까? 파일 구조?

는 또한 구성 요소는 캡슐화 것 a stackoverflow answer here

으로 게시됩니다 내 express code structure GitHub의 저장소 내 파일 시스템 레이아웃을 설명했다.

"모델"또는 "서비스"유형 모듈로 각 백업 API에 대한 인터페이스를 캡슐화하는 것이 좋습니다. 데이타베이스 질의를하는 경우, 모델 또는 최소한 관련 모듈의 모듈로 캡슐화하면됩니다.

노드 위에 어떤 작업을 도와주는 프레임 워크가 있습니까?

예, 다수. 나는 hapi이 다른 강력한 선택 인 기본 웹 응용 프로그램 프레임 워크로 express을 선호합니다. loopback이나 sails.js와 같은 더 작은 (더 많은 목적 라이브러리) 옵션과 더 큰 (완전한 기능을 갖춘 프레임 워크에 가까운) 옵션이 있습니다.

관련 문제