2012-04-18 10 views
7

मुझे यह त्रुटि मिलती है: Error: defineAlreadyDefined, जो केवल डोजो के साथ होता है।त्रुटि: परिभाषित करें पहले से परिभाषित

index.php

<script data-main="app" src="require.js"></script> 

require({ 
    paths : { 
     dojo : 'http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo' 
    } 
}); 

require([ 'dojo' ], function() { 
    //something 
}); 

मैं एक ऐसी ही सवाल पाया app.js, लेकिन मेरी मदद नहीं की थी:

When dojo.js loaded via ajax multiple times get Error: defineAlreadyDefined

संपादित करें: मैंने खोज की और मुझे लगता है कि जिस तरह से मैं requiJS और Dojo का उपयोग करने की कोशिश कर रहा हूं वह गलत है। http://dojotoolkit.org/features/1.6/async-modules

कोई विचार? धन्यवाद

उत्तर

3

आदेश एक विदेशी लोडर डब्ल्यू का उपयोग करने के/dojo आप डोजो/dojo.js फ़ाइल को छोड़ने के लिए है, जो परिभाषित करता है की जरूरत है एएमडी लोडर।

require({ 
    packages: [ 
     { 
      name: 'dojo', 
      location: 'dojo', 
      main:'dojo/main' 
     } 
    ] 
}); 

हालांकि, डोजो लोडर बस के रूप में के रूप में requireJS jQuery प्लगइन्स लोड हो रहा है पर अच्छा है और यह dojo/has की तरह, कुछ अतिरिक्त प्लगइन के साथ आता है: अपने की आवश्यकता config की तरह कुछ होना चाहिए। मैं सिर्फ इसके लोडर का उपयोग करने के लिए गंभीर विचार दूंगा।

0

मुझे यकीन नहीं है कि आप यहां क्या हासिल करना चाहते हैं, लेकिन Dojo implements requireJS। इसलिए आपको जरूरी जेएस की आवश्यकता नहीं है।

आप क्या करेंगे क्या, डोजो पुस्तकालय के सामान्य उपयोग के लिए, यह है:

//call dojo script 
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js"></script> 
<script> 
    var dojoConfig = (function(){ 
     return { 
      async: true, 
      //in case you wanted to use your own library 
      paths: [{ 
       name: "location/library"//your library path 
      }] 
     }; 
    })();  

    require([ 
     "dojo/parser", 
     "name/something",//calling 'somethong' from library 
     "dojo/domReady!" 
    ], function(parser, something /*your library obj*/){ 
     //your logic 
     parser.parse(); 
     something.do(); 
    }); 
}); 
</script> 
+0

कारण मैं जरूरी जेएस की आवश्यकता है क्योंकि मेरे पास बहुत सारे jQuery प्लगइन्स और डोजो हैं। – user947462

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

  • कोई संबंधित समस्या नहीं^_^