Restangular:错误:未知提供者:RestangularProvider < – Restangular

我正在尝试使用restangular作为rails rest api的适配器,但我无法使其正常工作。 我已经下载了最新版本并将文件放在vendor / assets / javascripts文件夹中。 但是一旦我尝试加载应用程序,我会收到以下错误:

 Error: Unknown provider: RestangularProvider <- Restangular at Error () at http://0.0.0.0:3000/assets/angular.js?body=1:2706:19 at Object.getService [as get] (http://0.0.0.0:3000/assets/angular.js?body=1:2832:39) at http://0.0.0.0:3000/assets/angular.js?body=1:2711:45 at getService (http://0.0.0.0:3000/assets/angular.js?body=1:2832:39) at invoke (http://0.0.0.0:3000/assets/angular.js?body=1:2850:13) at Object.instantiate (http://0.0.0.0:3000/assets/angular.js?body=1:2882:23) at http://0.0.0.0:3000/assets/angular.js?body=1:4771:24 at http://0.0.0.0:3000/assets/angular.js?body=1:4350:17 at forEach (http://0.0.0.0:3000/assets/angular.js?body=1:161:20) 

这是我的application.js文件

 //= require jquery //= require bootstrap //= require suggest.min //= require angular //= require underscore //= require restangular //= require angular-strap.min //= require angular-cookies //= require angular-resource //= require angular/index 

该应用初始化如下:

 angular.module('angularApp', [ 'ngCookies', 'restangular' ]); angular.module('angularApp.services', [ 'ngResource', 'sessionService', 'courseService' ]); angular.module('angularApp.resources', [ 'ngResource' ]); angular.module('angularApp.directives', []); angular.module('angularApp.filters', []); angular.module('angularApp.controllers', []); var App = angular.module('angularApp', [ 'angularApp.resources', 'angularApp.services', 'angularApp.directives', 'angularApp.filters', 'angularApp.controllers', '$strap.directives' ]); 

还有一个控制器,它试图使用restangular而没有任何成功

 angular.module('angularApp.controllers').controller('CourseListCtrl', [ '$scope', '$location', 'Restangular', function($scope, $location, Restangular) {"use strict"; $scope.courses = Restangular.all('courses') }]); 

我究竟做错了什么? 我似乎已经完成了restangular指南中描述的所有内容,但仍然不明白为什么它不起作用。

根据我的评论,你将两次定义模块,第二次它会覆盖你的restangular包含。

第二个angular.module('angularApp'...覆盖第一个擦除rectangular依赖关系的模块。

如果需要引用angularApp模块,请不要使用括号,如下所示:

 var App = angular.module('angularApp') 
  • 用括号 – >模块创建
  • 没有括号 – >模块参考