我有一个奇怪的问题。我想在我的AngularJS项目中包含angular-animate - 我正在使用AngularJS v1.2.6。我已将angular-animate
添加到我的凉亭文件中。它已下载并添加到源文件中的HTML文件中,它指向正确的文件(它在浏览器中加载)。现在我需要将其添加为依赖项,因此我将模块添加到我的应用程序中......
angular.module('myApp', [
'ngResource',
'ngSanitize',
'ngRoute',
'ui.bootstrap',
'LocalStorageModule',
'cookiesModule',
'ngAnimate'
])
然而,只要Grunt在检测文件更改和构建时出现问题,我就会收到以下错误:
Unknown provider: $$asyncCallbackProvider <- $$asyncCallback <- $animate <- $compile
我已经检查了拼写,我已按照https://github.com/angular/bower-angular-animate上提到的说明进行操作,但我无法理解为什么这不起作用或为什么我收到错误!我在依赖项数组中更改了依赖项的位置,但这没有做任何事情。还有其他人经历过这个吗?我会继续研究这个,但如果有人克服或确定了为什么会发生这种情况,请大声说出来!提前致谢
答案 0 :(得分:73)
唷!我想我已经修好了......鲍尔似乎是问题和解决方案!
我在bower文件中从AngularJS 1.2.6更改为1.2.15,这解决了我的问题:
所以我改变了这个:
"angular": "1.2.6"
到这个
"angular": "1.2.15"
嗯,这只花了我2个小时!
答案 1 :(得分:56)
这里的问题是Angular版本与angular-animate版本不匹配。尽量保持它们对齐,因此如果使用角度1.2.6,也可以使用角度动画1.2.6。
此外,您必须在bower.json中进行更改后清理bower组件(删除bower文件夹),bower将不会检查安装的版本是否与bower.json相同
一般情况下,如果可以的话,我建议使用最高的稳定角度和ng-animate版本。
答案 2 :(得分:1)
此问题可能是由于兼容性问题。虽然改变bower.json中的角度版本可以解决问题,但解决这个问题的最好方法是获得角度和角度动画的最新副本,即~1.4.0
最好的部分是asyncCallback未在最新版本中使用。所以不会出现这样的错误。 :P
答案 3 :(得分:1)
我遇到了同样的问题。我使用角度动画1.3.4,角度为1.4.8。在将角度版本降级到1.3.4之后,错误消失了。
答案 4 :(得分:0)
在 bower.json 文件
中查找并更改为"angular": "1.5.8"
而不是键入命令bower update