2015-02-05 5 views
0

backbone.js 프로젝트를 상속 받았습니다. 프로젝트의 컨벤션은 각 모델, 뷰 및 컨트롤러를 자체 파일에 배치하는 것으로 보인다.backbone.js 프로젝트에 파일의 구성 요소가 필요합니까 아니면 그냥 규칙일까요?

this tutorial (hello backbone.js)을 보면 컨트롤러와 뷰가 모두 하나의 파일에있는 규칙을 사용합니다.

이제 자바 스크립트를 사용하여 내 느낌은 어디서나 독자와 평가자 앞에있는 모든 것을 실행한다는 것입니다.

내 질문 : 내 backbone.js 프로젝트에 파일의 구성 요소가 필요합니까 아니면 그냥 대회입니까?

+0

백본은 목적에 따라 간단합니다. 그것은 프레임 워크가 아니며, 더 모듈화 된 JS 코드를위한 단순히 도우미 라이브러리 일뿐입니다. 따라서 Backbone 사용자는 코드, 파일 및 연결 및 축소와 같은 최적화를 관리하는 방법을 결정해야합니다. RequireJS는 좋은 옵션이지만 ES6 모듈과 Browserify를 사용할 수도 있습니다. 하나의 파일에 모든 코드를 덤프하는 것은 권장하지 않습니다. 분리 된 관심사가 중요합니다. – istos

답변

0

아니요, 백본은 각 구성 요소가 개별 파일에 있는지 또는 모든 파일이 단일 파일에 있는지 상관하지 않습니다. 당신은 JavaScript가 주어진 것을 단지 실행한다는 것은 맞습니다. 나는 이것이 브라우저에서 실행 중이고 이전 개발자가 XHR 요청을 통해 개별 구성 요소에로드하는 것 (또는 빌드 단계로서 큰 단일 응용 프로그램 파일에 연결하는 것)이라고 가정합니다.

이 문제를 처리하기위한 유일한 규칙은 중요한 크기의 앱 구조에 적용되는 것과 동일합니다. 많은 뷰와 모델 (그리고 아마도 라우터!)을 가지고 있다면 레일즈 애플리케이션 (또는 사용하고자하는 것과 같은)과 같은 방식으로 그것들을 자신의 "models /", "views /"디렉토리 구조로 나눠야한다. .

많은 코드가 없으면 모든 파일을 하나의 파일에 포함시키는 것이 본질적으로 잘못되었습니다. 아주 간단하고 모든 구성 요소에 많은 설정을로드 할 필요가 없습니다. 정비를 염두에 두십시오. 그리고 당신을 후비는 물건을 가져갈 수있는 사람들을 고려하십시오!

축소 및 연결을 통해 추가 최적화를 수행하지만 아직 해결되지 않은 문제가없는 경우 개별 파일을 사용하면 복잡성이 증가 할 수 있습니다.

더 많은 모듈 식 코드를 원한다면 RequireJS 또는 Browserify (또는 ES6 모듈을 추가하십시오!)를 추가하여 더 용감하게 느껴질 수도 있습니다.