GWT에서 AngularJS로 왔습니다.이 전환 작업에 만족합니다. 새로운 프로젝트를 시작하고 Angular 및 JS 개발에서 어떤 프로젝트 구조 및 종속성 관리가 가장 좋은 것인지 파악했습니다.프로젝트 구조 및 파일 종속성
주위를 걷고 난 후에 네비게이션과 네 스티드 뷰가 있고 또한 파일 종속성에 가장 적합한 후보가 RequireJS 인 것으로 나타났습니다 ($ stateProvider).
appConfig.js :
myModule.lazy = {
controller: $controllerProvider.register,
directive: $compileProvider.directive,
filter: $filterProvider.register,
factory: $provide.factory,
service: $provide.service,
animation: $animateProvider.register
};
for (var i = 0; i < states.length; i++) {
$stateProvider.state(states[i]);
}
국가가 별도의 파일에 정의되어 있습니다 :
var states=
[
{
name: 'landingPage',
url: '/',
templateUrl: 'partials/landingPage/landingPage.html',
resolve:{load:function($q, $i18n){
return resolver ($q,$i18n,['landingPage','general'],
[
'partials/landingPage/landingPageController.js',
'partials/landingPage/landingPageService.js'
]);
}
}
},
{
name: 'a',
templateUrl: 'partials/application/application.html',
resolve:{load:function($q, $i18n){
return resolver ($q,$i18n,'',
[
'partials/application/applicationController.js',
'partials/application/applicationService.js'
]);
}
}
},
{
name: 'a.defaultDash',
url: '/defaultDash',
templateUrl: 'partials/dashBoards/defaultDash/defaultDash.html',
resolve:{load:function($q, $i18n){
return resolver ($q,$i18n,[],
[
'partials/dashBoards/defaultDash/defaultDashController.js',
'partials/dashBoards/defaultDash/defaultDashService.js',
]);
}
}
}];
그래서 나는 주에서 나의 정의를 기반으로 JS 게으른 로딩이 그래서 이런 내 프로젝트를 구성. (첫 번째 질문은 이것이 가장 좋은 방법일까요?)
다음 단계는 내 지시어를 개발하고 있습니다. 오 ... 내 응용 프로그램에서 50 개 이상의 지시어가 될 것입니다. 그들 중 일부는 매우 복잡하고 특정 페이지에서 한 번 사용되기 때문에 일반적인 지시문이 아니라고 말할 수 있습니다.이 경우 지시어 템플리트에 별도의 HTML을 사용하여 코드를 별도의 js 파일에 넣고 관련 상태이므로 상태 (상위보기)가 요청 될 때 지시문 파일이로드됩니다.
하지만 내 일반 지침은 어떻게됩니까? 각각에 대해 js/html 파일을 분리하는 것은 의미가 없으므로 모든 코드를 단일 js 파일에 넣고 index.html에 스크립트 링크를 넣습니다. 내 문제는 단일 파일을 유지 보수하는 것이 어렵고 Angular js에서 대규모 프로젝트를 실행하기위한 최선의 방법인지 확인하고 싶습니다. 내가 언급 한 것처럼 완전한 OO 개념, 인터페이스, 상속 및 파일 분리로 GWT (Full java env)에서 왔습니다.
감사, 일반 지침의 라이브러리의
+1이 이에 해당합니다. 또한 그들은 Angular 2.0에서 기본적으로 모듈의 지연로드를 포함 할 계획입니다 – Beyers