Недавно я начал использовать RequireJS с AngularJS. Я наткнулся на плагин под названием AngularAMD, который упрощает работу Требований и Угловых. У меня есть следующая конфигурация.Проблема при загрузке внешнего углового модуля в модуль 'mainApp' с использованием RequireJS
require.config({
baseUrl: "",
paths: {
'angular': 'lib/js/angular.min',
'angular-route': 'lib/js/angular-route.min',
'angular-resource': 'lib/js/angular-resource.min',
'angularAMD': 'lib/js/angularAMD.min',
'jquery':'lib/js/jquery-1.11.3.min',
'bootstrap':'lib/js/bootstrap.min',
'httpAPIService' : 'httpAPIService',
'angular-charts':'lib/js/angular-charts',
'd3': 'lib/js/d3.min'
},
shim: { 'bootstrap':['jquery'], 'angular': ['jquery', 'bootstrap'], 'angularAMD': ['angular'], 'angular-route': ['angular'], 'angular-resource': ['angular'], 'angular-charts':['angular', 'd3'], 'httpAPIService': ['mainApp']},
deps: ['mainApp']
});
Сейчас в mainApp.js
У меня есть следующий код:
define(['angularAMD', 'angular-route'], function (angularAMD) {
var mainApp = angular.module('mainApp', ['ngRoute']);
mainApp.config(function ($routeProvider) {
$routeProvider.when("/userAgreement", angularAMD.route({
templateUrl: 'modules/agreement/views/eulaView.html', controller: 'eulaController',
controllerUrl: 'modules/agreement/js/eulaController'
}))
.otherwise({
redirectTo: '/'
});
});
return angularAMD.bootstrap(mainApp);
});
Который работает отлично. Но если я попытаюсь добавить к нему модуль angular-charts
. Пример:
define(['angularAMD', 'angular-route', 'angular-charts'], function (angularAMD) {
var mainApp = angular.module('mainApp', ['ngRoute', 'angularCharts']);
mainApp.config(function ($routeProvider) {
$routeProvider.when("/userAgreement", angularAMD.route({
templateUrl: 'modules/agreement/views/eulaView.html', controller: 'eulaController',
controllerUrl: 'modules/agreement/js/eulaController'
}))
.otherwise({
redirectTo: '/'
});
});
return angularAMD.bootstrap(mainApp);
});
Это дает мне $injector:modulerr Module Error
. Я новичок в концепции AMD. Пожалуйста помоги.
Несомненно, вы правильно указали имя модуля для массива зависимостей? Забудьте загрузить файл модуля? – charlietfl
Да. Согласно документации, мне нужно добавить 'angularCharts'. И я проверил в файле модуля консоли, загружается правильно. – Roy