2014-12-06 9 views
9

अपने ब्राउज़र में निम्न त्रुटि हो रही है:मॉड्यूल 'ngMockE2E' उपलब्ध नहीं है! AngularJS

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 इस तरह दिखता है:

'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); 

    }); 

मैं कुछ याद आ रही है?

+11

क्या आप 'angular-mocks.js' स्क्रिप्ट फ़ाइल लोड कर रहे हैं? – dfsq

+0

हो ओह ... मुझे लगता है कि यह मुद्दा है .. मुझे जल्दी से – Tiwaz89

+1

स्थापित करने की अनुमति दें जो त्रुटि थी। धन्यवाद! – Tiwaz89

उत्तर

1

angular.mocks.js फ़ाइल में मॉकिंग और परीक्षण में कई मॉड्यूल उपयोगी होते हैं। सबसे अधिक इस्तेमाल किए गए ngMock, ngMockE2E हैं जो $timeout, $rootScope, $controller, $httpBackend ($ httpBackend ngMockE2E का हिस्सा है) के कुछ सबसे अधिक उपयोग किए गए घटकों के लिए मोक्स प्रदान करते हैं।

निर्भरता के रूप में इनमें से किसी भी मॉड्यूल का उपयोग करने के लिए आपको angular.mocks.js लोड करने की आवश्यकता है। [$injector:modulerr] को हटाने के लिए बस अपनी स्क्रिप्ट को अपनी एचटीएमएल फाइल में जोड़ें, जो एक त्रुटि है जब मॉड्यूल निर्भरता के रूप में जोड़ा गया है या इसकी फ़ाइल लोड नहीं हुई है

0

मैं केवल $ httpBackend का उपयोग करने के लिए जोड़ता हूं, इसलिए केवल 'ngMocksE2E' मॉड्यूल आवश्यक था, इसलिए मैंने किया:

import angular from 'angular'; 
// it exports moduleName that is 'ngMockE2E' 
import ngMockE2EModuleName from 'angular-mocks/ngMocksE2E.js'; 

export default angular.module('app', [ngMockE2EModuleName]); 
संबंधित मुद्दे