微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用ng-strict-di时,AngularJS 1.3与ngbp框架不会在chrome浏览器中加载

我正在使用 ngbp framework(以前的ng样板)在AngularJS网络应用程序,认情况下使用AngularJS 1.2.该项目处于早期阶段,所以我们正在尝试使用AngularJS 1.3而不是1.2,因为它有一些很好的功能,我们想使用.我们也在假设AngularJS 1.3可能是我们上线时的发行版本.

所以我只是在bower.json文件中切换AngularJS版本号,除了启用严格依赖注入(ng-strict-di)之外,Chrome,Safari和Firefox中的所有内容都可以正常工作.当严格的DI模式打开时,我会收到以下错误(more detail here),但它只发生在Chrome(FF& Safari两者仍然按预期的情况下工作).

Failed to instantiate module ng due to:
Error: [$injector:strictdi] function($provide) is not using explicit annotation and cannot be invoked in strict mode
http://errors.angularjs.org/1.3.0-build.3121+sha.a4520a7/...)
    at http://localhost:8080/assets/ngbp-0.3.2.js:87:12
    at annotate (http://localhost:8080/assets/ngbp-0.3.2.js:3352:17)
    at Object.invoke (http://localhost:8080/assets/ngbp-0.3.2.js:4036:21)
    at runInvokeQueue (http://localhost:8080/assets/ngbp-0.3.2.js:3964:35)
    at http://localhost:8080/assets/ngbp-0.3.2.js:3973:11
    at forEach (http://localhost:8080/assets/ngbp-0.3.2.js:338:20)
    at loadModules (http://localhost:8080/assets/ngbp-0.3.2.js:3954:5)
    at createInjector (http://localhost:8080/assets/ngbp-0.3.2.js:3894:11)
    at dobootstrap (http://localhost:8080/assets/ngbp-0.3.2.js:1494:20)
    at bootstrap (http://localhost:8080/assets/ngbp-0.3.2.js:1509:12

似乎由于某些原因,角度源代码本身不能进行严格的DI测试,因此不会在ngbp框架内的Chrome浏览器中加载.上述错误来自ngbp的新鲜克隆,唯一的变化是AngularJS(1.3)的版本,而不是我们实际的项目(尽管在这两种情况下都是相同的).我知道这个版本的ngbp并没有正式支持Angular 1.3,但是正如我所说的,这个应用程序似乎对这个变化很好,尽管这个测试失败了.我想知道有没有人可能有一些洞察到导致这个错误的原因,以及是否不明智地进行AngularJS 1.3和ngbp(版本:0.3.2)的组合?在ngbp中还有什么其他内容需要随AngularJS版本一起更改吗?

如果它有助于我通过cd ../bin在本地提供文件; http-server -p 8080.如果任何其他信息有助于让我知道,如果可能的话我很乐意提供.

谢谢你的时间.

编辑:如果它有助于我在OS X 10.9.4上使用以下浏览器版本进行测试:

> Chrome(版本36.0.1985.143)
> 64位Chrome(版本37.0.2062.94)
> Firefox(31.0)
> Safari(版本7.0.5(9537.77.4))

看起来你可能正在使用 batarang,它不能很好地与ng-strict-di.尝试从Google Chrome开发人员工具中禁用batarang,应用程序应该再次正常启动.

AngularJS batarang自v0.5.0以来现在支持ng-strict-di.此错误不应再发生.

原文地址:https://www.jb51.cc/angularjs/140704.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐