未捕获的错误:[$ injector:modulerr] AngularJS

时间:2014-05-12 14:16:43

标签: javascript angularjs ngresource

首先,我想说我真的不想问这个问题,但经过两个小时的不理解之后,它现在决定寻求帮助。

我想在我的应用中添加ngResource模块。在做之前,一切都运作良好。

所以我创建了这样的应用程序:

var app = angular.module('app', [ 'ngResource', 'ngRoute'  ]);

然后我这样配置:

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

            $resourceProvider.defaults.stripTrailingSlashes = false;

            $locationProvider.html5Mode(false);

            $routeProvider.when('/', {
                templateUrl: 'templates/home.html',
                controller: 'homeController'
            }).when('/404', {
                templateUrl: 'templates/404.html'
            }).otherwise({
                redirectTo: '/404'
            });
        }
    ]);

我得到这个错误,意思是:

Failed to instantiate module app due to:
TypeError: Cannot set property 'stripTrailingSlashes' of undefined
at http://localhost:3000/js/app.js:14 


This error occurs when a module fails to load due to some exception. The error message above should provide additional context.

第14行当然是:

 $resourceProvider.defaults.stripTrailingSlashes = false;

angular-resource.js在app.js之前已经很好地加载了。

我不明白,我的确完全像在Angular Doc上说的那样:(

我希望我的问题不是完全愚蠢的,原因并不明显,因为我真的没有看到我错在哪里!

谢谢你能帮助我!

巴斯蒂安

1 个答案:

答案 0 :(得分:8)

AngularJS 1.3.0-beta.6 中添加了配置剥离斜杠的功能。

确保您没有使用早期版本。

可以找到AngularJS的更改日志here