2014-11-03 3 views
0

요구 사항각도 및 각도 모듈에로드하는 데 사용합니다.각도 초기화 후 각도 모듈로드

필요한 모든 모듈 (예 : angular-sanitize.js)을 함께 요구하고 싶습니다. 내가 모듈 다음과 같은 정의합니다

require.config({ 
    path: { 
     'angular':'libs/angular-modules' 
    }, 
    shim: { 
     'angular': { 
      deps: ['libs/angular'], 
      exports: 'angular' 
     }, 
     ... 
    } 
}); 

그리고 에 libs와/각도-modules.js : 내가 규칙을 다음과 같은 정의합니다 내 require.config에서

define(
    [ 
     'libs/angular-sanitize', 
     'libs/angular-animate' 
    ], 
    function() { 
     return angular; 
    } 
); 

전에서 기대 모듈을로드하는 시간은 angular.js입니다.

Cannot read property '$$minErr' of undefined angular-sanitize.js:8

이것은 각-sanitize.js의 여덟 번째 라인 :하지만 가끔 오류가 얻을

var $sanitizeMinErr = angular.$$minErr('$sanitize'); 

그래서 그것은 angular.js 파일이 없음을 의미합니다 로드했지만 네트워크 탭에서 나는 그것을 볼 수 있습니다. 초기화 할 때 모서리 살균 처리 모듈 angular.js이로드 되었으나 초기화되지 않았 음 (window.angular은 아직 정의되지 않았습니다).

어떻게 각이 초기화되었는지 확인할 수 있습니까?

답변

-1

AngularJs는 아직 게으른로드를 지원하지 않습니다 ... 아직.

는 가정 게으른 로딩을 허용하는 인터넷 주위에 떠있는 몇 가지가 있지만 내 생각에 그들은 혼란과

requireJS 이러한 이유로

+0

.when('/login', { templateUrl: appConfig.getUrl('login'), resolve: { load: ['$q', '$rootScope', '$log', function ($q, $rootScope, $log) { var deferred = $q.defer(); require(appConfig.getDeps('login'), function() { $rootScope.$apply(function() { forms.hideError(); deferred.resolve(); }); }); return deferred.promise; }] } })
그래서 내가 수요가에 RequireJS를 사용하여 내 응용 프로그램 AngularJS와를로드 할 때 환각 것 같아 : 약속을 돌려, 먼저 그 종속성을로드 할 필요 사용 후 약속을 해결 * 완전 달리기 **, 맞습니까? – Louis

+0

@ Louisll 아마도이 오류를 방지하는 방법을 알고 계십니까? – Goodnickoff

+0

각도 프로젝트의 종속성을로드하려면 requireJS를 사용하고 있습니까? 기존 모듈에 새로운 컨트롤러 등을로드 할 수 있습니까? – DrogoNevets

0

I에 대한 각도 작동하지 않습니다 최소한의 이익을 위해 지나치게 부풀어 있습니다 당신의 RequireJS 구성에서 angular-sanitize에 대한 심을 보여야하는데 : 내가 거기에 의미가 될지 확실 해요 때문에 내가 exports 옵션을 넣어하지 않은

shim: { 
    ... [whatever you already have] , 

    'angular-sanitize': { 
     deps: ['angular'], 
    }, 
} 

. AngularJS 모듈의 경우 이 필요하지는 않지만 exports의 경우이 필요합니다.

일반적으로 라이브러리 소스를 열고 define을 호출하는 것을 찾을 수 없다면 엄연히 shim이 필요합니다. angular-animate에는 아마도 심이 필요합니다.

+0

이상 하긴하지만 예제가 제대로 작동하는 것 같습니다. 그러나 나는 왜 그런지 이해할 수 없다. 내 코드에서 _angular-modules.js_ file (_angular-sanitize_ 모듈을로드하는 파일)에 대한 종속성 (deps : [ 'libs/angular']')도 지정합니다. – Goodnickoff

+0

오류가 표시되지 않으면 대답을 "올바른"것으로 표시합니다. – Goodnickoff

0

경로 구성 확인에 종속성을 지연로드 할 수 있습니다.*