HTML5 마스터Q&A는 HTML CSS JavaScript 개발자들의 질문과 답변을 위한 커뮤니티 사이트입니다.

AngularJS는 module선언은 여러 파일에서 정의 할 수 있나요?

0 추천
angular.module('moduleName') 을 여러번 정의하면 어떻게 되나요.

예를 들어 app.js에서 angular.module('app', ['ngResource']).config ... 와 같이 정의한후에

services.js에서 다시 angular.module('app').factory ... 와 같이 정의해서 쓰면 어떻게 되나요?

그럴때 dependency는 어떻게 되나요?
궁금이 (200 포인트) 님이 2013년 6월 25일 질문

1개의 답변

0 추천

angular.module을 여러번 정의하는 것은 큰 문제가 없습니다만 디펜던시가 어떻게 설정되는지는 알고 계셔야 합니다.

http://docs.angularjs.org/api/angular.module

  • name – {!string} – 

    The name of the module to create or retrieve.

  • requires(optional) – {Array.<string>=} – 

    If specified then new module is being created. If unspecified then the the module is being retrieved for further configuration.

에서 두번째 파라미터 requires에 인자가 전달되면 새로운 모듈이 생성되고, 만약 두번째 인자가 전달되지 않으면 기존에 생성된 모듈을 반환합니다. 즉 디펜던시는 단 한번 처음 정의할때 잘 넣어주셔야하고 그 다음부터는 name만 전달해서 받아와서 사용합니다.

 

그래서 가장 먼저 로딩되는 app.js 에 모든 모듈을 정의하고

 

angular.module('myApp', ['myDep']);
angular.module('myDep');
각 conroller, service등의 파일에서는 정의된 모듈을 불러와서 사용합니다.
angular.module('myDep').controller('MyCtrl', function () {
});

 

회색 (2,140 포인트) 님이 2013년 6월 25일 답변
...