2011-12-26 6 views
6

मैंने मॉड्यूल लोड करने के लिए कई बदलावों को देखा है जो अभी तक AMD का समर्थन नहीं करते हैं, और मैं जानना चाहता हूं कि ऐसा करने का सबसे अच्छा अभ्यास क्या है।jQuery. अंडरस्कोर, और बैकबोन को एएमडी मॉड्यूल के रूप में requ.js का उपयोग करने का सबसे अच्छा तरीका क्या है?

आखिरकार, मैं इस तरह मॉड्यूल लिखने के लिए करना चाहते हैं:

module.js: 

define(["jQuery", "Underscore", "Backbone"], function($, _, Backbone) { 
    ... module code here 
} 

लेकिन समस्याओं का एक बहुत कुछ के बाद से वे सभी एएमडी अनुरूप नहीं हैं उन एएमडी का उपयोग कर निर्भरता लोड हो रहा है के साथ देखते हैं।

+1

एएमडी द्वारा आपका क्या मतलब है? सीपीयू परिवार नहीं, है ना? – Thilo

+1

नहीं। असीमित मॉड्यूल परिभाषा। टीएलए की खराब पसंद मुझे स्वीकार करनी होगी ... :) –

+1

कुछ साल पहले (इंटेल स्विच से पहले, मुझे लगता है), मैक अफवाह समूह एमडी के कोड संदर्भों से अजीब थे। उसके बाद, यह ऑटो-माउंट-डेमन था। ;-) – Thilo

उत्तर

4

मैंने एक टोडो-सूची बॉयलरप्लेट वेब ऐप बनाया है जो सभी मॉड्यूल को एएमडी मॉड्यूल (लोडर के बिना) के रूप में लोड करता है।

इसे देखें:

https://github.com/ronreiter/webapp-boilerplate

+2

लिंक टूटा हुआ है। – amoss

1

this उदाहरण पर एक नज़र डालें। यह अच्छी तरह से दिखाता है कि requjs के साथ रीढ़ की हड्डी का उपयोग कैसे करें। यह भी दिखाता है कि आप कैसे मॉडल, दृश्य और संग्रह व्यवस्थित रूप से व्यवस्थित कर सकते हैं।

+0

ऐसा लगता है कि उदाहरण एक अद्यतन संस्करण है, और यह नहीं कि वेबसाइट में ट्यूटोरियल क्या बताता है। धन्यवाद। –

2

थॉमस डेविस के पास अपने गैर-अद्यतन उदाहरण में jquery/underscore/रीढ़ की हड्डी को लोड करने के लिए एक बेहतर उदाहरण (आईएमओ) है। लोडर को देखकर शुरू करें here

यह मॉड्यूल को सिंक्रनाइज़ रूप से लोड करने के लिए here को आवश्यकजेजेएस ऑर्डर प्लगइन का उपयोग करता है।

1

RequireJS के नवीनतम संस्करण को गैर एएमडी जे एस फ़ाइलों का उपयोग करने की क्षमता कहते हैं।

require.config({ 
    'paths': { 
    "underscore": "libs/underscore-min", 
     "backbone": "libs/backbone-min" 
    }, 
    'shim': 
    { 
     backbone: { 
      'deps': ['jquery', 'underscore'], 
      'exports': 'Backbone' 
     } 
    } 
}); 

इसे आज़माएं।

0

एक बात जो मुझे एएमडी के बारे में नहीं समझती है, ऐसा लगता है कि जब आवश्यक हो तो केवल जरूरी जेएस लोड होता है लेकिन डेमो एप्लिकेशन के साथ जब आप पहले पेज लोड के लिए ऐप तक पहुंचते हैं तो यह सभी जेएस एचटीएमएल सीएसएस फाइलों को लोड करता है।

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

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