Angulaire module config pas appelé

Je vais essayer d'obtenir ma tête autour d'AngularJS et a couru dans un problème.

var myApp = angular.module('myApp', ['myApp.services']);

myApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {

    console.log('Configuring module "myApp"');

    $routeProvider.when('/dashboard', {templateUrl: 'partial/dashboard', controller: DashboardController});
    $routeProvider.when('/menu', {templateUrl: 'partial/other', controller: OtherController});
    $routeProvider.otherwise({redirectTo: '/dashboard'});

    $locationProvider.html5Mode(true);
 }]);

À ma compréhension de la configuration de la fonction doit être appelée lorsque le module est chargé. Mais il ne le fait pas!

J'ai le ng-app="myApp" directive sur la <body> tag. Et les scripts chargés, juste avant le corps de la balise de fermeture dans le bon ordre (dans la mesure que les questions).

    <script src="angular.js"></script>      
    <script src="app.js"></script>
    <script src="services.js"></script>
    <script src="controllers.js"></script>
</body>

Je suis assez sûr que je doit être donnant sur quelque chose de trivial ici. Il devrait y avoir un message imprimé sur la console. Mais il reste vide avec aucun des erreurs ou des avertissements que ce soit.

Les parties de l'application en fonction des routes fonctionne très bien.

Mise à jour: version simplifiée de mon service.js

'use strict';

angular.module('myApp', function ($provide) {
    $provide.factory('myService', function ($http) {
        var service = function () {
            ...
            service implementation
            ...
        };

        return new service();
    });
});
  • Ouais... il devrait. Êtes-vous sûr que tous les scripts sont à consommer? Existe-il des erreurs dans la console? Je viens de poster votre code sur un Plunkr pour vérifier les fautes de frappe, et il fonctionne comme prévu. Je ne peux que suspect sur votre myApp.services, vous le poster?
  • C'était en effet une erreur de codage dans mes services. Merci pour le pointeur.
  • Je vois que vous avez posté la bonne réponse ci-dessous; une petite correction ci-dessus est cependant lorsque le config s'exécute. Contrairement à des services, qui a exécuté la première fois, ils sont injectés, config blocs sont exécutés à un point donné dans le bootstrap, AngularJS. En d'autres termes, la config sera toujours courir et toujours courir avant votre application en cours d'exécution.
  • Ça compte pour tous les modules ou seulement les modules instancié par l'injecteur?
  • Les Modules de ne pas obtenir instancié par l'injecteur; services de faire. Le config, mais pour exécuter votre application module et les modules, il déclare que les dépendances, ainsi que toutes leurs dépendances, etc.
  • Très utile. Merci pour m'aider à comprendre la question.
  • eu le même problème et a obtenu de me gratter la tête pendant des heures. Mais après la lecture de votre question, j'ai réalisé que mon problème est juste le manque ng-app directive ahahha. merci pour cette question.
  • J'ai eu le même problème. Mon code ne fonctionne pas parce que la méthode .run n'est pas appelée. Quand j'ouvre google chrome, débogueur, .run sont appelés correctement (je suis en cours d'exécution Ionique application par ionic serve commande)

InformationsquelleAutor Bart | 2013-04-08