2013-06-25 8 views
1

두 개의 자바 스크립트, resources_loader.js 및 app.js가있는 app을 작성하고 있습니다. 먼저 app.js에서 사용하는 json 파일을로드합니다.

문제 : app.js (angular.js 항목이 있음)는 resources_loader.js 뒤에 만 실행해야합니다. 성공 콜백 내부에서 각도 코드를 실행하려고 시도했지만 (resources_loader에는 지연이 포함되어 있음), 이것이 제대로 작동하지 않는 것 같습니다. 내 index.html은 다음과 같습니다.

<!doctype html> 
<html ng-app="myapp"> 
<body> 
    <script src="angular.js"></script> 
    <script src="resources_loader.js"></script> 
</body> 
</html> 

성공 콜백 내에서 app.js를 resources_loader로 옮겼습니다. 매번 실행하려고 시도 할 때 각도는 다음 예외를 발생시킵니다 : Uncaught Error: No module: myapp.

내 생각 엔 angular.module('myapp', [])이 onload 이벤트 전에 실행되어야합니다. 여기서는 그렇지 않습니다.

<script "yepnope.js"></script> 
<script "resources_loader.js"></script> 
<script> 
    var loader = load_stuff(); 
    yepnope({ 
     test: loader.resolved(), 
     yep: ['angular.js', 'app.js', 'foo.js', 'bar.js'], 
     nope: ['fail.js'] 
    }); 
</script> 

app.js는 각 코드가 포함되어 있습니다 :

또 다른 것은

내가 이렇게 내 프로젝트에 yepnope.js을 사용할 것입니다. 리소스가로드되는 경우 각도가로드되기 때문에 성능이 더 좋아집니다. 그러나 나는 그것을 어떻게 할 수 있는가?

답변

1

제거 ng-app<html> 태그에서와 자원을 다음과 같이로드되면 그것을 화재 angular.bootstrap(document, ['myapp']);를 사용

var app = angular.module('myapp', []); 

app.config(['$routeProvider', '$locationProvider', function($router, $location) { 
    $location.html5Mode(true); 

    $router 
    .when('/', { 
     templateUrl: 'some_template.html', 
     controller: 'myController' 
    }); 
}]); 

// and then, after everything, run 
angular.bootstrap(document, ['myapp']);