2014-06-23 16 views
7

मुझे अपने कोणीय परियोजना के साथ एक अजीब समस्या का सामना करना पड़ रहा है।मॉड्यूल 'ui.bootstrap' उपलब्ध नहीं है - Angularjs

मेरे पास एक वेबसाइट है - www.server.com/pwm (होम पेज)। पृष्ठ में एक एंकर टैग है जो मुझे दूसरे पृष्ठ पर ले जाता है - www.server.com/publishers। जब मैं होम पेज लोड करता हूं और एंकर टैग पर क्लिक करके प्रकाशक पृष्ठ पर नेविगेट करता हूं, तो सब कुछ ठीक काम करता है। लेकिन जब मैं सीधे ब्राउज़र में यूआरएल टाइप करता हूं तो मुझे नीचे अपवाद मिलते हैं (उदाहरण के लिए। यदि मैं होम पेज www.server.com/pwm लोड करता हूं और फिर यूआरएल के अंत में "/ प्रकाशक" टाइप करता हूं)

[ $ इंजेक्टर: नामांकन] मॉड्यूल 'ui.bootstrap' उपलब्ध नहीं है! आप या तो मॉड्यूल नाम गलत वर्तनी या इसे लोड करने के लिए भूल गए हैं। यदि मॉड्यूल पंजीकृत करना सुनिश्चित करता है कि आप निर्भरता को दूसरे तर्क के रूप में निर्दिष्ट करते हैं। http://errors.angularjs.org/1.2.18/ $ इंजेक्टर/nomod? P0 = ui.bootstrap "

भ्रामक बात यह है कि मैं आवश्यक पुस्तकालयों को शामिल किया है और यह ठीक काम करता है जब मैं वेबपेज माध्यम से नेविगेट है। समस्या तब होती है जब मैं सीधे एक करने के लिए नेविगेट करने की कोशिश बच्चे पेज। मैं पेज

var pubsApp = angular.module('pubsApp', ['ngResource', 'ngRoute', 'ui.bootstrap']) 

लोड करने के लिए ngRoute और टेम्पलेट्स के लिए इस्तेमाल कर रही है कर रहा हूँ और मेरी स्क्रिप्ट

<script src="/Scripts/jquery-1.9.1.js" type="text/javascript"></script> 
<script src="/Scripts/angular.js" type="text/javascript"></script> 
<script src="/Scripts/angular-route.js" type="text/javascript"></script> 
<script src="/Scripts/angular-sanitize.js" type="text/javascript"></script> 
<script src="/Scripts/angular-resource.js" type="text/javascript"></script> 
<script src="/Scripts/bootstrap.js" type="text/javascript"></script> 
<script src="Scripts/angular-ui/ui-bootstrap.min.js" type="text/javascript"></script> 
<script src="Scripts/angular-ui/ui-bootstrap-tpls.min.js" type="text/javascript"></script> 
<script src="/js/app.js" type="text/javascript"></script> 
+0

क्या यह एक एकल पृष्ठ ऐप है? यदि हां, तो आपकी रूटिंग तालिका कैसी दिखती है? –

+0

मैं बूटस्ट्रैप के लिए कोणीय से परिचित नहीं हूं, लेकिन क्या आप दोनों, कोणीय और jquery के साथ-साथ उनके दोनों संबंधित bootstrap.js फ़ाइलों को शामिल नहीं करते हैं? आईडी कम से कम '/ स्क्रिप्ट/bootstrap.js' को छोड़ने का मानना ​​है ... – nozzleman

+2

UI-बूटस्ट्रैप की जेएस फ़ाइलों के लिए' src' सापेक्ष है इसलिए वास्तव में कोई आश्चर्य नहीं कि यह क्यों काम नहीं करता है। उन्हें बाकी की तरह पूर्ण बनाओ? – ivarni

उत्तर

4

आपके सभी स्क्रिप्ट टैग पूर्ण पथ का उपयोग कर रहे हैं (वे कोणीय-बूटस्ट्रैप टैग को छोड़कर ए/से शुरू होते हैं); वे सापेक्ष पथ का उपयोग करते हैं। इसका मतलब है कि वे ब्राउज़र में कहीं भी रिश्तेदार हैं।

आपकी जावास्क्रिप्ट फ़ाइलें सभी www.website.com/Scripts/पर स्थित हैं ... क्योंकि उन दोनों को छोड़कर आपके सभी स्क्रिप्ट टैग पूर्ण पथ का उपयोग करते हैं, वे हमेशा उसी स्थान पर स्क्रिप्ट की तलाश करेंगे। हालांकि, ब्राउजर में आप कहां हैं, इसके आधार पर दो एंगुलकार-बूटस्ट्रैप पथ अलग-अलग जगह देखेंगे।

जब तक आप बच्चे पृष्ठ पर सीधे पर जाते हैं, तब तक यह काम करता है क्योंकि कोणीय केवल प्रारंभिक पृष्ठ लोड पर जावास्क्रिप्ट फ़ाइलों को लोड करता है, न कि नेविगेशन पर।

तो अपने शेष स्क्रिप्ट टैग जैसे पूर्ण पथों का उपयोग करने के लिए बस अपने कोणीय-बूटस्ट्रैप स्क्रिप्ट टैग को बदलें।

+0

में मदद करता है यह वास्तव में एक अच्छा बिंदु है। मैं इन बदलावों को जांचने की जांच करूंगा। बहुत बहुत धन्यवाद –

0

मुझे लगता है कि फ़ाइलें, यह कुछ भी नहीं है ui-बूटस्ट्रैप के साथ क्या। यह समस्या से संबंधित है कोणीय रूटिंग। कृपया इस सर्वर.com/#/publishers को आजमाएं (मैन्युअल रूप से पता-बार पर स्थान लिखते समय)।

+2

मुझे नहीं लगता कि यह उत्तर – Pureferret

1

मुझे भी एक ही समस्या थी और मैंने इसे हल किया। विवरण नीचे दिया गया है।

की जाँच करें अपने {{project_root}}/परीक्षण/karma.conf.js

और bower_components के लिए सुनिश्चित हो/कोणीय बूटस्ट्रैप/उस में ui-बूटस्ट्रैप-tpls.js। अपने मामले में, आपको इसमें स्क्रिप्ट/कोणीय-ui/ui-bootstrap-tpls.min.js डालना चाहिए।

files: [ 
    'bower_components/angular/angular.js', 
    'bower_components/angular-mocks/angular-mocks.js', 
    'bower_components/angular-animate/angular-animate.js', 
    'bower_components/angular-cookies/angular-cookies.js', 
    'bower_components/angular-resource/angular-resource.js', 
    'bower_components/angular-route/angular-route.js', 
    'bower_components/angular-sanitize/angular-sanitize.js', 
    'bower_components/angular-touch/angular-touch.js', 
    'bower_components/angular-bootstrap/ui-bootstrap-tpls.js', 
    'app/scripts/**/*.js', 
    'test/mock/**/*.js', 
    'test/spec/**/*.js' 
], 
संबंधित मुद्दे