में jQuery नाम का उपनाम नहीं कर सकता मैं एक आवश्यकताजेएस नोब हूं। जब मैं "require.config" का उपयोग करता हूं और jQuery से भिन्न नाम के साथ jQuery के लिए पथ शामिल करता हूं, तो परिणाम अपेक्षित नहीं होते हैं।RequJS में - पथ
मेरी समस्या को समझाने में सहायता के लिए यहां एक बहुत ही सरल उदाहरण है। फ़ाइलों की
संरचना
root
├── Index.htm
└── scripts
├── libs
│ ├── jquery-1.7.1.js
│ └── require.js
├── main.js
└── someModule.js
index.htm
<html>
<head>
<title>BackboneJS Modular app with RequireJS</title>
<script data-main="scripts/main" src="scripts/libs/require.js"></script>
</head>
<body>
<h3>BackboneJS is awesome</h3>
</body>
</html>
यहाँ स्क्रिप्ट टैग संदर्भ लिपियों/libs में आवश्यकता होती है। जब आवश्यकताएं चलती हैं तो स्क्रिप्ट्स निर्देशिका में main.js नामक जावास्क्रिप्ट फ़ाइल निष्पादित की जानी चाहिए।
main.js
require.config({
"paths": {
"mod1": "someModule"
}
});
require(["mod1"], function (sm) {
console.log(sm.someValue);
});
मेरे अनुभव में "mod1" जब तक कुछ भी हो सकता है क्योंकि यह require.config रास्ते में और विधि की आवश्यकता होती है में एक ही संदर्भित है।
someModule.js
define([], function() {
console.log();
return { someValue: "abcd" };
});
बस संपूर्णता के लिए मैं someModule.js
कथित चंचलता तब होता है जब मैं JQuery शामिल शामिल थे।
निम्नलिखित main.js में मैंने कॉन्फ़िगरेशन और आवश्यकता विधि में jQuery जोड़ा।
main.js
require.config({
"paths": {
"jquery": "libs/jquery-1.7.1"
,"mod1": "someModule"
}
});
require(["mod1", "jquery"], function (sm, $) {
console.log(sm.someValue);
console.log($);
});
jQuery सब कुछ के अतिरिक्त के साथ
अभी भी काम करता है लगता है। "Console.log ($)" jQuery फ़ंक्शन लिखता है।
अब किकर। निम्नलिखित कोड में मैं दोनों रास्तों में "jQuery" से "jqueryA" बदल सकते हैं और आवश्यकता होती है
require.config({
"paths": {
"jqueryA": "libs/jquery-1.7.1"
,"mod1": "someModule"
}
});
require(["mod1", "jqueryA"], function (sm, $) {
console.log(sm.someValue);
console.log($);
});
अब "console.log ($)" शून्य लिखता है।
क्या इसकी अपेक्षा की जानी चाहिए? क्या कोई कारण है कि नाम jquery होना चाहिए, लेकिन mod1 के लिए यह कुछ भी हो सकता है?
मैं बिना किसी समस्या के काम कर सकता हूं, लेकिन यह समस्या विषम प्रतीत होती है। मुझे पता है कि मैं संयुक्त RequJS और jQuery फ़ाइल का उपयोग कर सकता हूं, लेकिन जब jQuery में एक अद्यतन होता है तो मैं नई jQuery को शामिल करने के लिए RequJS पर निर्भर नहीं होना चाहता हूं।
धन्यवाद! इस ज्ञान के साथ मैंने अपना खुद का jquery/requjs मुद्दा हल किया। – bunnyhero