2012-08-24 16 views
5

के बारे में उलझन में मैं requjs में निर्भरता के आसपास अपने सिर को लपेटने की कोशिश कर रहा हूं।RequJS निर्भरता

  1. तो मैं पहले से ही shim का उपयोग कर किसी फ़ाइल के लिए निर्भरता की घोषणा की, मैं इसे फिर से घोषित करने के लिए जब मैं उस फ़ाइल में मॉड्यूल को परिभाषित की आवश्यकता है?
  2. यदि मैं रीढ़ की हड्डी जैसे निर्भरताओं को लोड करने के लिए require का उपयोग करता हूं, तो क्या मुझे require के हिस्से के रूप में लोड किए गए मॉड्यूल को परिभाषित करने पर मुझे फिर से घोषित करने की आवश्यकता है?

यहाँ मेरी कोड अब तक बताया गया है:

require.config({ 
    //alias 
    paths: { 
     Backbone: 'libs/backbone-min', 
     Config: 'config', 
     Dom: 'dom', 
     App: 'app' 
    }, 

    //dependencies 
    shim: { 
     'Backbone': ['libs/underscore-min'], 
     'Dom': ['libs/sizzle'] 
    } 
}); 

//used to load and use stuff 
require(['Config','Dom','App','Backbone'], function(){ 

}); 
dom.js में

तो मैं सिर्फ define(function(){...}); का उपयोग कर एक मॉड्यूल को परिभाषित करने और कड़ाके की धूप का उपयोग शुरू कर सकते हैं? या मैं अभी भी अगर मैं, app.js में एक मॉड्यूल को परिभाषित मैं अभी भी define में रीढ़ की हड्डी को लोड करने की आवश्यकता है इसके अलावा इस define(['libs/sizzle'], function(){...});

की तरह इसे परिभाषित करने की, क्योंकि मैं पहले से ही require() के हिस्से के रूप में शामिल किया की क्या ज़रूरत है।

उत्तर

1

1) मैं पहले से ही शिम का उपयोग कर किसी फ़ाइल के लिए निर्भरता घोषित करते हैं, तो मैं जरूरत है इसे फिर से घोषित करने के लिए जब मैं उस फ़ाइल में मॉड्यूल को परिभाषित करते हैं?

प्रत्येक मॉड्यूल के लिए आपको निर्भरताओं के सेट को परिभाषित करने की आवश्यकता है।

2) मैं इस तरह के रीढ़ के रूप में निर्भरता लोड करने के लिए आवश्यकता होती है उपयोग करते हैं तो मैं इसे फिर से घोषित जब मैं एक मॉड्यूल के रूप में का हिस्सा की आवश्यकता होती है भरी हुई है परिभाषित करने के लिए आवश्यकता क्यों है?

आप आर्बिटरी modyle में निर्भरता के रूप में रीढ़ की हड्डी का उपयोग करना चाहते हैं तो आप

define(['backbone'], function(Backbone) { .. } 
+0

तो मूल रूप से 'Shim' बस फ़ाइलें एक विशेष क्रम में लोड करता है और लिख सकता है' आवश्यकता होती है() 'फ़ाइलें लोड करता है और कर मॉड्यूल के साथ बातचीत नहीं –

+5

प्रश्न पर सबसे अच्छा जवाब क्या वास्तव में शिम की आवश्यकता है RequJS निर्माता जेम्स बर्क द्वारा दिया गया था। आप उस संदेश को यूआरएल पर पढ़ सकते हैं: https://groups.google.com/d/msg/requirejs/-han0L_Sv_E/iFttMxDkT1UJ – svlada

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