Ошибка: $ injector: modulerr Ошибка модуля при запуске приложения?

Я получаю ошибку углового модуля, когда я пытаюсь ввести зависимости, используя require.js

Мой файл bower.json:

{
"name": "asa",
"version": "1.0",
"authors": [
"asda"
],
"description": "aaaa",
"dependencies": {
"angular": "1.3.8",
"angular-route": "1.3.8",
"requirejs": "2.1.15",
},
"license": "sss",
"homepage": "index.html",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"src/main/webapp/resources/bower_components",
"test",
"tests"
]
}


Main.js

var app = angular.module('myApp', ['route']);
app.service('abc', function () {
//some content
});
app.service('def', function( $http, $q ) {
//some content
});
var zzz = app.controller('zzz', function ($scope, $http, $filter, abc, def) {
//controller content
});
zzz.$inject = ['$scope', '$filter','abc','def'];



мой основной файл данных, содержащий зависимости: main-di.js

require.config({
paths: {
    angular: '../lib/dependencies/bower_components/angular/angular',
    route: '../lib/dependencies/bower_components/angular-route/angular-route',
    myApp: "person"
},
shim: {
    angular: {
        exports: "angular"
    },
    route: {
        deps: ['angular']
    },
    myApp: {
        deps: [ 'angular', 'route']
    }
}
});
require(['myApp'], function () {

angular.bootstrap(document.getElementById('myApp'), ['myApp']);

});



При запуске приложения я получаю следующую
ошибку: Ошибка:

TypeError: e is undefined
...a("$ngControllerController",f));w(a)}}}n=e.module("ngRoute",  ["ng"]).provider("$r...



Error: [$injector:modulerr] Failed to instantiate module myApp due to:
[$injector:nomod] Module 'myApp' is not available! You either misspelled the   module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.3.8/$injector/nomod?p0=myApp minErr/<@http://localhost:8080/AngularJsInJava/lib/dependencies/bower_components/angular/angular.js:63:12




Может кто-нибудь, пожалуйста, помогите мне, почему я получаю эту ошибку?

javascript,jquery,html,angularjs,requirejs,

2

Ответов: 1


1

Это неверный способ определения контроллера.

var zzz = app.controller('zzz', function ($scope, $http, $filter, abc, def) {
//controller content
});

Создайте контроллер таким образом ..

app.controller('zzz', ZzzCtrl);
ZzzCtrl.$inject = ['$scope', '$filter','abc','def'];
function ZzzCtrl ($scope, $filter, abc, def) {
   // controller code here
} 

Также, если вы используете минимизацию для своего углового кода, вы всегда должны использовать аннотации или «$ inject». Не только с контроллерами. например.

angular.module('someModule').service('someService',['$someInjection', function($someInjection){}])
JavaScript, JQuery, HTML, angularjs, requirejs,
Похожие вопросы