을 설정하는 나는 현재 궁극적으로 종종 공유 내용과 내가하는 방법이 확실하지 않습니다에 대한 6 개의 "스크린"또는 페이지에 금액 백본 마리오네트 응용 프로그램을 쓰고 있어요 최고의 구조와 접근 영역.백본 마리오네트 Require.js, 지역을 사용하는 방법이
여기에 설명 된 앱/모듈 설정을 사용하고 있습니다 : StackOverflow question 11070408: How to define/use several routings using backbone and require.js. 이것은 새로운 기능과 콘텐츠가 시간이 지남에 따라 추가되고 확장 성이 있어야하는 응용 프로그램이 될 것입니다 (가능한 한 분명히 재사용 가능)
건물에있는 단일 페이지 응용 프로그램에 모든 4 개의 기본 섹션이 있습니다 화면 : 헤더, 기본 콘텐츠, 보조 콘텐츠, 바닥 글.
푸터는 모든 페이지에, 헤더는 페이지 (3)에서도 동일하게 일치하고, 약간 남은 3 장에서 (동일한 요소/콘텐츠의 약 80 %를 사용하여) 변형된다. "morecontent"영역은 다양한 페이지에서 재사용 할 수 있습니다. 내 app.js 파일에서
내가 그렇게처럼 내 영역을 정의하고 있습니다 :
define(['views/LandingScreen', 'views/Header', 'router'], function(LandingScreen, Header, Router) {
"use strict";
var App = new Backbone.Marionette.Application();
App.addRegions({
header: '#mainHeader',
maincontent: '#mainContent',
morecontent: '#moreContent',
footer: '#mainFooter'
});
App.addInitializer(function (options) {
});
App.on("initialize:after", function() {
if (!Backbone.History.started) Backbone.history.start();
});
return App;
});
을 이제 상기 게시물에 다시 응용 프로그램 설정을 참조하면, 지역을 처리하는 가장 좋은 방법이 될 것입니다 무슨. 각 하위 앱에서 각 지역을 독립적으로 다시 선언하겠습니까? 모듈을 가능한 한 독립적으로 유지하는 가장 좋은 방법 인 것 같습니다. 내가 그 길로 간다면 하위 애플리케이션 사이에서 그 지역을 열거 나 닫거나 숨기거나 표시하는 가장 좋은 방법은 무엇일까요?
또는, 나는 app.js에 선언 된 지역을 유지합니까? 그렇다면 서브 애플 리케이션에서 해당 지역의 이벤트를 가장 잘 조정하고 조정하는 방법은 무엇입니까? app.js 파일에 정의 된 영역을 갖는 것은 모듈과 핵심 응용 프로그램이 서로에 대해 아는 것을 최소한으로 유지하는 것과 직관적 인 것처럼 보입니다. 게다가, 내가 본 모든 예제에는 기본 앱 파일에 appRegions 메소드가 있습니다. 하위 애플리케이션에서 해당 지역을 액세스하고 변경하는 것이 가장 좋은 방법은 무엇입니까?
미리 감사드립니다.
지연에 대해 사과드립니다. 저는 두 가지 대답을 바탕으로 AMD와 AMD가 아닌 AMD와 토론했습니다. 장기 계획의 경우, 내 앱의 기능보다 종속성을 관리하는 데 더 많은 시간을 할애하고있는 것처럼 느껴지더라도 AMD 경로를 선택하는 것이 바람직합니다. – mindpivot