2016-06-02 11 views
0

Ich habe vor kurzem begonnen, RequireJS mit AngularJS zu verwenden. Ich bin auf ein Plugin namens AngularAMD gestoßen, das es Require und Angular erleichtert, zusammen zu arbeiten. Ich habe die folgende Konfiguration. JetztProblem beim Laden des externen Winkelmoduls in 'mainApp' Modul mit 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'] 
}); 

in mainApp.js Ich habe den folgenden Code:

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); 
}); 

der gut arbeitet. Aber wenn ich versuche, angular-charts Modul hinzuzufügen. Gefällt mir:

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); 
}); 

Es gibt mir $injector:modulerr Module Error. Ich bin neu in AMD Konzept. Bitte helfen Sie.

+0

Sicher hast du den Modulnamen für das Abhängigkeitsfeld korrekt geschrieben? Vergessen Sie, die Moduldatei zu laden? – charlietfl

+0

Ja. Laut der Dokumentation muss ich 'angleCharts' hinzufügen. Und ich habe überprüft, dass die Konsolenmoduldatei korrekt geladen wird. – Roy

Antwort

0

Haben Sie versucht ngload pro documentation?

define(['angularAMD', 'angular-route', 'ngload!angular-charts'], function (angularAMD) { 

... 

})