2

I've been working on some boilerplate stuff and ran into something peculiar.

I have a module and it works fine:

define([
    'angular',
    'angular-couch-potato',
    'angular-sanitize',
    'angular-ui-router',
], function (ng, couchPotato) {
    "use strict";

    var module = ng.module('app.home', [
        'ngSanitize',
        'ui.router'
    ]);

    module.config(function ($stateProvider, $couchPotatoProvider) {
        $stateProvider
            .state('app.home', {
                url: '/',
                views: {
                    "content@app": {
                        controller: 'HomeCtrl',
                        templateUrl: 'app/components/home/views/home.html',
                        resolve: {
                            deps: $couchPotatoProvider.resolveDependencies([
                                'components/home/controllers/HomeController'
                            ])
                        }
                    }
                },
                data:{
                    title: 'Home'
                }
            });
    });

    couchPotato.configureApp(module);
    module.run(function($couchPotato){
        module.lazy = $couchPotato;
    });
    return module;
});

Now if I remove angular-sanitize from define like so:

define([
    'angular',
    'angular-couch-potato',
    'angular-ui-router',
], function (ng, couchPotato) {
    "use strict";

    var module = ng.module('app.home', [
        'ui.router'
    ]);

    module.config(function ($stateProvider, $couchPotatoProvider) {
        $stateProvider
            .state('app.home', {
                url: '/',
                views: {
                    "content@app": {
                        controller: 'HomeCtrl',
                        templateUrl: 'app/components/home/views/home.html',
                        resolve: {
                            deps: $couchPotatoProvider.resolveDependencies([
                                'components/home/controllers/HomeController'
                            ])
                        }
                    }
                },
                data:{
                    title: 'Home'
                }
            });
    });

    couchPotato.configureApp(module);
    module.run(function($couchPotato){
        module.lazy = $couchPotato;
    });
    return module;
});

It no longer works. Chrome throws this error:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.26/$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.26%2Fangular.min.js%3A18%3A170)

My controller is empty with it's only dependency $scope and the view file just has hello world around p tags.

Can someone please explain to me what I am missing or why this is happening?

yvesmancera
  • 2,915
  • 5
  • 24
  • 33
Jason Spick
  • 6,028
  • 13
  • 40
  • 59

0 Answers0