2012-05-08 15 views
5

मैं निम्न फ़ोल्डर संरचना है:आप .NET एप्लिकेशन में RequJS का उपयोग कैसे करते हैं?

-> कस्टम

  • चार्ट
    • ... जे एस फ़ाइलें
    • ... जे एस फ़ाइलें
    • बढ़ाने
  • सामान्य
    • ... जे एस फ़ाइलें

-> lib

  • jQuery
  • jquery.ui

jQuery-1.7.2.js
requjs-1.0.7.js
order.js

मैं ascx नियंत्रण फ़ाइलों को परंपरागत तरीके से एक स्क्रिप्ट टैग के अंतर्गत एक जे एस फ़ाइल बुला और फिर उस फ़ाइल से कुछ कार्यप्रणाली को कॉल करके संदर्भ जे एस फ़ाइलों की एक बहुत कुछ के साथ एक .NET अनुप्रयोग है।

प्रश्न कैसे मैं (या मैं कर सकते हैं) को लागू जे एस आवश्यकता होती है चाहिए, ताकि मैं कर सकते हैं:

1) फोन जे एस अंतिम फ़ाइलों के बाद सभी छवियों, सीएसएस और एचटीएमएल लोड किया गया है, और ...

2) कोड

मॉड्यूलिंग की एएमडी अवधारणा का उपयोग करें यह इंगित करना महत्वपूर्ण है कि प्रत्येक एएसपीएक्स फ़ाइल में 5 एसीएक्स फाइलें हैं और कुछ में एसीएक्स नियंत्रण है। एएसएक्स फाइलों में से कई ने उनके अंदर जावास्क्रिप्ट को एम्बेड किया है, और बहुत से .master पृष्ठों में जावास्क्रिप्ट फ़ाइल संदर्भ भी हैं।

मैं वेबसाइट की संरचना को बदलने में असमर्थ हूं (क्योंकि साइट बड़ी है), इसलिए मुझे समाधान ढूंढना होगा।

धन्यवाद

+0

अपना प्रश्न पढ़ना मैं बता सकता हूं कि यदि आप आवश्यकताएं का उपयोग करने का विकल्प चुनते हैं तो आपको बहुत काम करना होगा। वेब ऐप्स के लिए एक बहुत अच्छा टूल की आवश्यकता है, लेकिन यह गैर-अच्छी तरह से संरचित-अनुप्रयोग के अनुकूल होने के करीब नहीं है। – devundef

+0

मैं बड़ी सफलता के साथ अब एक .NET ऐप में जेएस लागू कर रहा हूं, कड़ी मेहनत उन सभी पृष्ठों को परिवर्तित कर रही है जो जावास्क्रिप्ट को कॉल करते हैं और या तो टैट कॉल के लिए मॉड्यूल बनाते हैं यदि इसमें बड़ी संख्या में जेएस कोड है या कोड को जरूरी है कहते हैं। सीधे आगे बढ़ें लेकिन हां साइट को बदलने के लिए काम का आवंटन। – quinton

+0

RequJS कार्यान्वयन पर अद्यतन: अधिक क्लाइंट पक्ष आवंटित करने के आगमन के साथ जेएस भारी कोडिंग select.bestinvest वेबसाइट के लिए आवश्यक है, जरूरी है कि जेएस केवल एक शीर्ष नीचे दृष्टिकोण के बजाय मॉड्यूलर कोडिंग लागू करने और सभी को एक फ़ाइल में डालने में शानदार था। हालांकि सभी जेएस को RequJS के साथ चलाने के लिए कनवर्ट करने के लिए बड़ी संख्या में काम किया गया था, लेकिन यह प्रयास के लायक था। – quinton

उत्तर

0

चेक इस परियोजना RequireJS .NET

+0

यह सही है, क्योंकि हम जिन परियोजनाओं पर हम निर्माण कर रहे हैं, उनके लिए एक एमवीसी फ्रेमवर्क लागू कर रहे हैं (कार्यान्वित करना शुरू कर रहे हैं)। मैंने पहले से ही आवश्यक कोड का उपयोग करने के लिए हमारे सभी कोड को परिवर्तित कर दिया है, लेकिन यह थोड़ा आगे लेता है और इसका उपयोग किया जाएगा। – quinton

0

यह फिर से फैक्टरिंग कहा जाता है ... वी। एक अच्छी तरह से architected एक में एक पहले से अन-architected समाधान को फिर से लिखने की कभी कभी दर्दनाक प्रक्रिया।

0

यह एक जवाब के अधिक है फोन करने के लिए "InvokeScript()" एक .NET वेब ब्राउज़र नियंत्रण से। लेकिन Google ने मुझे यहां ले जाया और किसी को यह उपयोगी लगेगा।

सबसे पहले, अपने नए एएमडी मॉड्यूल को सामान्य रूप से परिभाषित करें।रखो के साथ इस मॉड्यूल के अंदर एक समारोह के रूप जो भी आप कहते हैं "InvokeScript()":

define (... { 
    var mySpecialHandler = function() { 
     // do stuff 
    }; 
    return { 
     mySpecialHandler: mySpecialHandler 
    } 
}); 

तब जब आप इसे उपयोग करने के लिए आते हैं, वैश्विक नामस्थान जो अंततः सेट किया गया है जब मॉड्यूल लोड किया जाता है का उपयोग करें:

require(['app'], function (app) { 
    window.mySpecialHandler = app.mySpecialHandler; 
}); 
संबंधित मुद्दे