首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块'ngMockE2E‘不可用!AngularJS

模块'ngMockE2E‘不可用!AngularJS
EN

Stack Overflow用户
提问于 2014-12-06 15:48:30
回答 2查看 4.3K关注 0票数 11

在我的浏览器中出现以下错误:

代码语言:javascript
复制
Uncaught Error: [$injector:modulerr] Failed to instantiate module sayHiApp due to:
Error: [$injector:modulerr] Failed to instantiate module ngMockE2E due to:
Error: [$injector:nomod] Module 'ngMockE2E' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.2.15/$injector/nomod?p0=ngMockE2E
    at http://127.0.0.1:9000/bower_components/angular/angular.js:78:12
    at http://127.0.0.1:9000/bower_components/angular/angular.js:1611:17
    at ensure (http://127.0.0.1:9000/bower_components/angular/angular.js:1535:38)
    at module (http://127.0.0.1:9000/bower_components/angular/angular.js:1609:14)
    at http://127.0.0.1:9000/bower_components/angular/angular.js:3717:22
    at Array.forEach (native)
    at forEach (http://127.0.0.1:9000/bower_components/angular/angular.js:323:11)
    at loadModules (http://127.0.0.1:9000/bower_components/angular/angular.js:3711:5)
    at http://127.0.0.1:9000/bower_components/angular/angular.js:3718:40
    at Array.forEach (native)
http://errors.angularjs.org/1.2.15/$injector/modulerr?p0=ngMockE2E&p1=Error…ngular%2Fangular.js%3A3718%3A40%0A%20%20%20%20at%20Array.forEach%20(native)
    at http://127.0.0.1:9000/bower_components/angular/angular.js:78:12
    at http://127.0.0.1:9000/bower_components/angular/angular.js:3745:15
    at Array.forEach (native)
    at forEach (http://127.0.0.1:9000/bower_components/angular/angular.js:323:11)
    at loadModules (http://127.0.0.1:9000/bower_components/angular/angular.js:3711:5)
    at http://127.0.0.1:9000/bower_components/angular/angular.js:3718:40
    at Array.forEach (native)
    at forEach (http://127.0.0.1:9000/bower_components/angular/angular.js:323:11)
    at loadModules (http://127.0.0.1:9000/bower_components/angular/angular.js:3711:5)
    at createInjector (http://127.0.0.1:9000/bower_components/angular/angular.js:3651:11)
http://errors.angularjs.org/1.2.15/$injector/modulerr?p0=sayHiApp&p1=Error%…F%2F127.0.0.1%3A9000%2Fbower_components%2Fangular%2Fangular.js%3A3651%3A11) angular.js:78

我的app.js看起来像这样:

代码语言:javascript
复制
'use strict';

angular
  .module('sayHiApp', [
    'ngCookies',
    'ngMockE2E',
    'ngResource',
    'ngSanitize',
    'ngRoute'
  ])
  .config(function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  })
  .run(function($httpBackend) {

    var name = '';

    $httpBackend.whenPOST('/name').respond(function(method, url, data) {
      name = angular.fromJson(data);
      return [200, name, {}];
    });

    $httpBackend.whenGET('/name').respond(name);

  });

我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2016-04-28 03:39:15

angular.mocks.js文件由许多对模拟和测试有帮助的模块组成。最常用的是ngMockngMockE2E,它们为一些最常用的组件提供了模拟,比如$timeout, $rootScope, $controller, $httpBackend ($httpBackend是ngMockE2E的一部分)。

要使用这些模块中的任何一个作为依赖,您需要加载angular.mocks.js。只需将此脚本添加到您的html文件中,以删除[$injector:modulerr],这是在未找到作为依赖项添加的模块或其文件尚未加载时导致的错误

票数 2
EN

Stack Overflow用户

发布于 2017-11-22 02:52:40

我只添加了使用$httpBackend,所以只需要'ngMocksE2E‘模块,所以我这样做了:

代码语言:javascript
复制
import angular from 'angular';
// it exports moduleName that is 'ngMockE2E'
import ngMockE2EModuleName from 'angular-mocks/ngMocksE2E.js';

export default angular.module('app', [ngMockE2EModuleName]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27329544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档