Не удалось загрузить модули

0

Привет, я пытаюсь разработать веб-приложение с угловым. Я добавил ng-app = "appApp" в html файл, а также в.js файлы.

main.controller.js

(function () {
'use strict';

// register the controller as MainController
angular
    .module('appApp.main')
    .controller('MainController', MainController);

/**
 * @ngdoc function
 * @name appApp.main.provider:MainController
 * @description
 * Provider of the {@link appApp.main.controller:MainController MainController}
 *
 * @param {Service} $scope The scope service to use
 * @param {Service} $http The http service to use
 */

// MainController.$inject = [];

function MainController() {
    var vm = this;
}

})();

main.js

(function () {
'use strict';

// register the route config on the application
angular
    .module('appApp.main', ['ui.router'])
    .config(configMainRoute)

// inject configMainRoute dependencies
configMainRoute.$inject = ['$stateProvider', 'mainMenuProvider'];

// route config function configuring the passed $stateProvider
function configMainRoute($stateProvider, mainMenuProvider) {
    var mainState = {
        name: 'main',
        url: '/',
        authenticate: true,
        templateUrl: 'app/main/main.html',
        controller: 'MainController',
        controllerAs: 'vm'
    };

    $stateProvider.state(mainState);

    mainMenuProvider.addMenuItem({
        name: 'Home',
        state: mainState.name,
        order: 1
    });
}

})();

app.js

(function () {
'use strict';

angular
    .module('appApp', [
        // Add modules below
        'ngCookies',
        'ngResource',
        'ngSanitize',
        'ngMessages',
        'ngMaterial',
        'ui.router',
        'btford.socket-io',
        'appApp.main'
    ])
    .config(appConfig)
    .run(appRun);

...........

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

  1. Ошибка: [ng: areq] Аргумент "MainController" не является функцией, получил неопределенный
  2. Ошибка нечистоты: [$ injector: nomod] Модуль 'appApp.main' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете зависимости в качестве второго аргумента.

Как я могу исправить эти ошибки? спасибо

  • 0
    Вы используете какую-то систему сборки, или вы только что добавили файлы в качестве тегов скрипта в index.html? Поскольку это зависит от порядка файлов, приложение должно быть первым контроллером, вторым
  • 0
    @tomastrajan Я использовал генератор полного стека Yeoman и теперь пытаюсь отредактировать клиент

2 ответа

2
Лучший ответ

Первое:

В html, который вы написали

ng-app="appApp"

Но в определении модуля вы написали

angular
.module('appApp.main', ['ui.router'])

Имена модулей должны быть одинаковыми, если у вас нет другого модуля appApp, и вы добавляете модуль "appApp.main" в качестве зависимости.

Другое дело, так как вы используете "ui-router", вам нужно связать файл js-библиотеки ui-router в html вместе с файлом угловой библиотеки.

Просто проверьте последовательность файлов js. Сначала угловая, затем все библиотеки js, затем app, main, main controller

  • 0
    у меня есть другой модуль appApp. извините, я не добавил это. я отредактирую свой вопрос
  • 0
    Хорошо, тогда просто проверьте последовательность файлов js. Сначала угловая, затем вся библиотека js, затем app, main, main controller.
Показать ещё 4 комментария
1

Я думаю,

1. Вы должны вызвать ng-app = " appApp.main " или

2.Вы должны сначала объявить модуль appApp. Вы должны заменить некоторый код в main.js

angular.module('appApp.main', []);

angular.module('appApp', [
        'ui.router',
        'appApp.main'
    ])...

Кроме того, удалите [ui.router] в main.js. Он заявил в app.js

  • 0
    уже есть модуль appApp. я редактирую свой вопрос извините за не предоставленные ранее
  • 0
    ХОРОШО. Вы решаете эту проблему?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню