2013-10-24 3 views
4

Я новичок в requireJS, и мне захотелось запустить простой стартовый проект hello worldish. Я что-то пропускаю, потому что я получаю angular is not defined как ошибка JS, когда GreetCtrl пытается загрузить.Простой requireJS с угловымJS - угловой не задан

index.html:

<!DOCTYPE html> 
<html ng-app="ReqApp" ng-controller="GreetCtrl"> 
    <body> 
    <h1>{{greeting}}!</h1> 
    <script src="assets/require/require.js" data-main="assets/require/main"></script> 
    </body> 
</html> 

main.js:

require.config({ 
    // alias libraries paths 
    paths: { 
    'domReady':  'domReady', 
    'angular':  '../../vendor/angular/angular.min', 
    'GreetCtrl':  '../../src/app/modules/GreetCtrl', 
    'app':   '../../src/app/app' 
    }, 
    // angular does not support AMD out of the box, put it in a shim 
    shim: { 
    'angular': { 
     exports: 'angular' 
    } 
    }, 
    // kick start application 
    deps: ['./bootstrap'] 
}); 

bootstrap.js:

app.js:

define([ 
    'angular', 
    'GreetCtrl' 
], function (ng) { 
    'use strict'; 

    return ng.module('ReqApp', [ 
    'ReqApp.GreetCtrl' 
    ]); 
}); 

и, наконец, GreetCtrl.js:

angular.module('ReqApp.GreetCtrl', []) 
.controller('GreetCtrl', function GreetCtrl ($scope) { 
    $scope.greeting = "greetings puny human"; 
}); 

Согласно поджигатель, строка 1 из GreetCtrl.js выдает ошибку angular is not defined. Что мне здесь не хватает?

Спасибо заранее!

ответ

2

Вы не сказали GreetCtrl, что это зависит от angular, то есть undefined. Попробуйте изменить GreetCtrl так, чтобы это было

define(['angular'], function(angular){ 
    angular.module('ReqApp.GreetCtrl', []) 
    .controller('GreetCtrl', function GreetCtrl ($scope) { 
     $scope.greeting = "greetings puny human"; 
    }); 
}); 
+0

Уг, как я пропустил это ?? Большое спасибо за то, что нашли время, чтобы помочь мне !!! – tengen

Смежные вопросы