情况:
我需要在Ionic应用程序中安装angular-mocks,但安装完成后,该应用程序崩溃了。正是在依赖项中注入了“ ngMock”之后。
通过删除它,该应用程序照常运行。
然后,我尝试将其安装在新的简单的角度应用程序中,而我的行为完全相同。
在这两种情况下,我在控制台中都没有错误。
安装:
凉亭安装角-
在index.html中包含angular-mocks.js
注入'ngMock'
问题:
为什么angular角使我的应用程序崩溃?难道我做错了什么?
谢谢!
编辑:
这是我曾重蹈覆辙的笨蛋:
http://plnkr.co/edit/Un9xBtrm1yqG4HubEdza?p=preview
angular.module('myApp', ['myApp.controllers', 'ngMock'])
通过从依赖项中删除“ ngMock”,应用可以重新启动以正常工作(用于测试目的的简单应用)。否则,应用程序将崩溃。
最佳答案
简短答案:因为ngMock
用于单元测试。
长答案:因为ngMock
用于单元测试,并不旨在用于运行应用程序。那里有很多Angular的东西正在被模拟,以使Angular应用适合单元测试,包括$rootElement
,它被用作根元素(带有ng-app
的元素),以在引导模块之后编译应用程序DOM。
包含唯一控制器can be made workable by unmocking $rootElement
service:的简单应用
angular.module('myApp', ['myApp.controllers', 'ngMock'])
var rootElement = angular.element(document.querySelector('[data-ng-app]'));
angular.module('myApp').value('$rootElement', rootElement);
由于根本没有指定
ngMock
出现在这里的原因,因此我认为它不是故意使用的。如果只需要在开发过程中对实时应用程序进行一些ngMockE2E
模拟,则使用$http
代替。关于javascript - 注入(inject)ngMock后应用崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33038755/