Angular-animate – 未知的提供者:$$ asyncCallbackProvider < – $$ asyncCallback < – $ animate < – $ compile

我有一个奇怪的问题。 我想在我的AngularJS项目中包含angular-animate – 我正在使用AngularJS v1.2.6。 我已经添加了angular-animate到我的凉亭文件。 它已经下载并添加到我的源文件中的HTML文件,它指向正确的文件(它加载在浏览器中)。 现在我需要添加这个作为依赖,所以我添加模块到我的应用程序…

 angular.module('myApp', [ 'ngResource', 'ngSanitize', 'ngRoute', 'ui.bootstrap', 'LocalStorageModule', 'cookiesModule', 'ngAnimate' ]) 

然而,只要Grunt开始检测文件的变化,并build立我得到以下错误:

 Unknown provider: $$asyncCallbackProvider <- $$asyncCallback <- $animate <- $compile 

我检查拼写,我已经按照https://github.com/angular/bower-angular-animate上提到的说明,但我不明白为什么这不起作用或为什么我得到错误! 我已经改变了依赖数组中依赖的位置,但是这没有任何作用。 有没有人经历过这个? 我会继续研究这个,但如果有人已经克服或确定为什么发生这种情况,请说出来! 提前致谢

唷! 我想我已经解决了这个问题…鲍尔似乎是问题和解决scheme!

我通过bower文件将AngularJS 1.2.6更改为1.2.15,这似乎解决了我的问题:

所以我改变了这个:

  "angular": "1.2.6" 

对此

  "angular": "1.2.15" 

那么,那只花费我2个小时!

这里的问题是Angular版本与angular度animation版本不匹配。 尽量保持它们的alignment,所以如果你使用angular 1.2.6,也可以使用angular-animate 1.2.6。

在bower.json中进行更改之后,你也必须清理你的bower组件(删除bower文件夹),bower不会检查安装的版本是否与bower.json相同

一般来说,如果可以的话,我会build议使用最高可用的稳定angular度和ng-animate版本。

这个问题可能是由于兼容性问题。 尽pipe改变bower.json中的angular度版本可以解决这个问题,但是解决这个问题的最好方法是获得angular度和angular度animation的最新副本,即〜1.4.0

最好的部分是asyncCallback没有在最新版本中使用。 所以不会出现这样的错误。 :p

我面临同样的问题。 我用angular1.4.8angularanimation1.3.4。 将版本降级到1.3.4后,错误消失了。

在你的bower.json文件中

find并更改为"angular": "1.5.8"并键入命令bower update