के माध्यम से पारित किया जा रहा है, मैं अपने वेब ऐप में जावास्क्रिप्ट लोड करने के लिए Requirejs
का उपयोग कर रहा हूं। समस्या यह है कि मुझे undefined
ऑब्जेक्ट को मॉड्यूल में पास किया जा रहा है, जो कि अन्य मॉड्यूल में उपयोग किए जाने पर पूरी तरह से ठीक हो जाता है।अनिवार्य वस्तु को Requjs
ठीक है, यहां सेटअप है। मेरे main.js
फ़ाइल जो requirejs स्टार्टअप पर चलाता है:
require.config({
baseUrl: "/scripts",
paths: {
demographics: "Demographics/demographics",
complaints: "Complaints/complaints",
}
});
require(["templates", "demographics", "complaints", "crossDomain"], function (templates, demographics, complaints) {
"use strict";
console.log("0");
console.log(demographics === undefined);
demographics.View.display();
});
config का एक बहुत इस समस्या में सिर्फ कोर फ़ाइलों को छीन लिया गया है।
यहाँ Demographics.js
है:
define(["ko", "templates", "complaints", "globals", "underscore"], function (ko, templates, complaints, globals) {
// Stuff removed.
return {
View: view
};
});
और Complaints.js
define([
"demographics",
"ko",
"templates",
"complaints",
"visualeffects",
"globals",
"webservice",
"underscore",
"typewatcher",
"imagesloaded"],
function (demographics, ko, templates, complaints, visualeffects, globals, webservice) {
"use strict";
console.log("1");
console.log(demographics === undefined);
return {
View: view
};
});
समस्या यह है - Complaints.js
में demographics
पैरामीटर define
config के माध्यम से पारित कर दिया undefined
है। कंसोल लॉग आउट मुझे बताता है कि "जनसांख्यिकी === अपरिभाषित" true
है।
हालांकि, जब main.js फ़ाइल निष्पादित होती है, तो इसे पारित जनसांख्यिकीय पैरामीटर अनिर्धारित नहीं होता है, यह अपेक्षाकृत एक त्वरित वस्तु है।
अब मैं अटक गया हूं क्योंकि मैं नहीं देख सकता कि क्यों complaints.js
में जनसांख्यिकीय चर अपरिभाषित है। क्या कोई मुझे बता सकता है कि मुझे क्या याद आ रहा है?
आह, बिल्कुल मुझे क्या संदेह था, लेकिन वास्तव में ऐसा नहीं लगता था कि यह हो सकता है (मैं इस एएमडी/requjs सामान के साथ एक असली नौसिखिया हूँ :) कार्रवाई की मेरी योजना एक और मॉड्यूल बनाना है जो दोनों के लिए कोड होस्ट करेगा जनसांख्यिकी और शिकायतें। इसका मतलब है कि इस नए मॉड्यूल का इस्तेमाल कोड को अन्य दो फाइलों से कॉल करने के लिए किया जाएगा। मेरे विचारों की पुष्टि करने के लिए धन्यवाद। जब मुझे समय मिल जाए तो यह कोशिश करेगा। –