2013-08-17 14 views
9

मेरी ऐप्लिकेशन में मैं यह कर रहा हूँ:कोणीय त्रुटि का कारण: "त्रुटि: कोई मॉड्यूल: ngCookies"?

angular.module('myApp.controllers', ['ngCookies']). 
    controller('AppCtrl', function ($scope, socket, $cookies) { 
     console.log("socket:"); 
     console.log(socket); 
     $scope.component = 'main'; 
     gLoggedIn = "no"; 
     gUserName = ""; 
     console.log("reset logged in status"); 
     sid = $cookies; 
     $scope.setComponent = function(val) { 
      $scope.component = val; 
     } 
    }). 

लेकिन मैं त्रुटि प्राप्त हो रही:

TypeError: 'undefined' is not an object (evaluating 'angular.module')" and "Error: No module: ngCookies

जाहिर है मैं मॉड्यूल में लोड [ 'ngCookies'] यहाँ! और क्या अधिक है, मैं एक बोवर कोणीय, कोणीय कुकीज़, और कोणीय-लोडर की स्थापित करते हैं, और मेरे index.jade को यह जोड़ा था:

script(src='bower_components/angular-cookies/angular-cookies.js') 
script(src='bower_components/angular/angular.js') 
script(src='bower_components/angular-loader/angular-loader.js') 

तो क्या देता है?

मैंने विभिन्न स्थानों पर ['ngCookies'] जोड़ने का प्रयास नहीं किया: app.js, nope; services.js, नहीं; तो समस्या क्या है?

उत्तर

17

आप angular.js लोड करने से पहले कोणीय-कुकीज़ लोड कर रहे हैं। इस तरह पुन: व्यवस्थित करें:

script(src='bower_components/angular/angular.js') 
script(src='bower_components/angular-cookies/angular-cookies.js') 
script(src='bower_components/angular-loader/angular-loader.js') 

मुझे लगता है कि यह आपकी समस्या का समाधान करेगा।

+0

हाहा ओउके। आप सही हे। उद्देश्य सी से जावास्क्रिप्ट में आने के लिए मुझे यही मिलता है। आदेश मायने रखता है ....? Weiiiird। – CommaToast

+0

हाँ जावास्क्रिप्ट में ऑर्डर बहुत अधिक मायने रखता है, lol – BKM

+1

जावास्क्रिप्ट एक व्याख्या की गई भाषा बनाम उद्देश्य-सी है जो एक संकलित भाषा है और यही कारण है कि कोड फ़ाइलों के लिए लोडिंग ऑर्डर महत्वपूर्ण है। – stefann

14

मेरे पास बिल्कुल असफल रहा लेकिन yeoman angular generator के साथ बनाए गए एक नए नए प्रोजेक्ट के साथ। मुझे गंदे परीक्षण कमांड के साथ त्रुटि मिली और मुझे एहसास हुआ कि समस्या यह थी कि karma.conf.js कोणीय-कुकीज़ (या तो कोणीय-संसाधन और कोणीय-sanitize) निर्भरताओं को लोड नहीं करता है। इसलिए मैंने उन्हें इस फ़ाइल की फाइल सरणी में जोड़ा।

files: [ 
    'app/bower_components/angular/angular.js', 
    'app/bower_components/angular-cookies/angular-cookies.js', 
    'app/bower_components/angular-resource/angular-resource.js', 
    'app/bower_components/angular-sanitize/angular-sanitize.js', 
    'app/bower_components/angular-mocks/angular-mocks.js', 
    'app/scripts/*.js', 
    'app/scripts/**/*.js', 
    'test/mock/**/*.js', 
    'test/spec/**/*.js' 
], 

और यह काम करता है!

मुझे उम्मीद है कि यह उपयोगकर्ता उपयोगकर्ताओं के लिए उपयोगी है!

+0

धन्यवाद मेरे दोस्त! – connorbode

संबंधित मुद्दे