यह पहली बार है जब मैं यहां एक प्रश्न पूछ रहा हूं। मेरे पास निम्न उदाहरण का मामला है: Export.js फ़ाइल में एक फ़ंक्शन और कोड की कुछ अतिरिक्त पंक्तियाँ हैं। इस मामले में, यह सिर्फ एक लॉग है:

//exporting.js
function add(a,b) {
return a+b;
}
console.log(add(5,8));
module.exports = add;

Import.js फ़ाइल को जोड़ने के लिए फ़ंक्शन की आवश्यकता होती है, लेकिन जब इसे निष्पादित किया जाता है तो यह Export.js में लॉग को भी प्रिंट करता है

//import.js
adds = require('./exporting.js');
console.log(adds(1,2));

तो यह अंत में प्रिंट करता है:

13
3

मैं जानना चाहता हूं कि सभी आवश्यक फ़ाइल निष्पादित किए बिना फ़ंक्शन की आवश्यकता के लिए कोई तरीका है या नहीं।

मैंने अपने फ़ंक्शन को किसी ऑब्जेक्ट के अंदर रखने का प्रयास किया है, लेकिन यह अभी भी पहला लॉग प्रिंट करता है।

मुझे आशा है कि आप मेरी मदद कर सकते हैं, मुझे कुछ भी संबंधित नहीं मिला है, क्षमा करें यदि यह एक नोब प्रश्न है।

1
Carlos Arena 6 पद 2020, 03:29

1 उत्तर

सबसे बढ़िया उत्तर

मैं जानना चाहता हूं कि सभी आवश्यक फ़ाइल निष्पादित किए बिना फ़ंक्शन की आवश्यकता के लिए कोई तरीका है या नहीं।

नहीं तुम नहीं कर सकते। CommonJS मॉड्यूल के साथ, केवल एक ही तरीका है कि आप जानते हैं कि क्या निर्यात किया जाता है, फ़ाइल को चलाकर और इसे module.exports को चीजें असाइन करने देना है। फ़ाइल को चलाए बिना, कुछ भी निर्यात नहीं किया जाएगा।

इसके लिए डिज़ाइन समाधान निर्यात किए गए फ़ंक्शन को एक अलग मॉड्यूल में स्थानांतरित करना होगा जहां वह मॉड्यूल आपके फ़ंक्शन को निर्यात करने के अलावा कुछ भी नहीं करता है। फिर, आप मॉड्यूल को लोड करने के किसी भी दुष्प्रभाव के बिना उस मॉड्यूल को require() कर सकते हैं।

1
jfriend00 6 पद 2020, 01:05