2017-01-27 1 views
0

웹 개발 및 NodeJS에 익숙하지 않아서 앱 (코드 및 디렉토리 구조)을 리팩토링하고 있습니다.NodeJS - 디렉토리 구조 패턴

그리고 저는 경험 많은 개발자가 사용하고 싶은 파일 구조 패턴에 대해 의견을 나누고 싶습니다.

는 평소 MVC 응용 프로그램의 구조는 다음과 같을 수 있습니다 :

/config 
/server 
    /controller (business logic) 
    /models (contain all models) 
    /routes (contain all routes) 
    /middlewares (express middleware) 
/views (server templates) 
/app (contain JS client app) 
/public (assets, ...) 
/test 

이 구조는 우려가 그룹 파일에 우리를 할 수 있습니다.

그러나 우리는 앱 구조 서비스에 의해 그룹 파일을 사용하는 경우 무엇을 - 예컨대 :

/config 
/lib 
    /middlewares (express middlewares) 
    /services (utils modules, db modules, ...) 
    /config 
/views 
/public 
/app 
/server 
    /user 
     /routes 
     /logic 
     /test 
     /model 
     /validation-schema 
     /... 
    /articles 
     /routes 
     /logic 
     ... 

보기, 템플릿 및 클라이언트 디렉토리가 첫 번째 구조와 같은 동일합니다. 그것은 서버 API 구조에 관한 것입니다.

이렇게하면 사용자 엔터티와 관련된 모든 파일을 동일한 디렉토리에 둘 수 있습니다. 테스트, 모델, 노선 포함.

이 점에 대해 어떻게 생각하십니까?

답변

2

당신은 종교 전쟁 @SimonBruneaud를 시작할 것입니다. :). 두 버전 모두 완전히 실행 가능하며 많은 사람들이 사용합니다. 두 번째 모듈은 다소 모듈화되어 있습니다. 원한다면 각 서버 하위 폴더를 별도의 npm 모듈로 개발하고 버전을 만들 수 있습니다. MEAN 프레임 워크는 비슷한 것을 사용합니다. 실제로는 클라이언트 코드와 템플릿을 비롯한 모든 것을 패키지에 포함시킵니다.

궁극적으로 나는 그것이 개인적 취향의 문제라고 생각하며, 귀하의 질문이 오래 전에 주로 의견으로 마감 될 것이라고 생각합니다.

+0

답변 해 주셔서 감사합니다. 아프다는 것을 명심하십시오. –

+0

Np. 모듈 형 디자인의 어려움을 피할 수 없었습니다. 불가피한 상호 의존성을 발견했습니다. 예를 들어, "기사"모듈은 필연적으로 사용자 모듈에 대해 알고 필 수입해야합니다. 극복 할 수는 없지만, 초기 파일 구조가 제시 할 수있는 것만 큼 명확하게 분리되지는 않습니다. – Paul

+0

그렇기 때문에 모듈 식 패턴을 사용할 수 있는지 알 수 없습니다. 우리 팀은 마이크로 서비스 아키텍처에 대해 연구 할 것이며 모듈러 구조는 쉽게 코드 조각을 관리 할 수있게 해줍니다. –