मेरे पास एक फाइल है जिसमें कई फ़ंक्शन हैं। नीचे के समान,
export const func1 = () => {
}
export const func2 = () => {
}
export const func3 = () => {
}
export const func4 = () => {
}
अब मैं इस सभी फ़ंक्शन को किसी अन्य फ़ाइल में उपयोग करना चाहता हूं।
विधि 1 import {func1, func2, func3, func4} from 'path'
है।
विधि 2 (जिसका मैं उपयोग नहीं करना चाहता) import * as access from 'path'
है
विधि 1 दृष्टिकोण वह है जिसका मैं अभी उपयोग कर रहा हूं। लेकिन जब func फ़ाइल बड़ी हो जाती है, तो यह पढ़ने योग्य नहीं होगी। तो, उपनाम बनाए बिना कार्यों का उपयोग कैसे करें और बस func1()
और access.func1()
नहीं?
2 जवाब
आपको वास्तव में दोनों के बीच अपना मन बना लेना चाहिए क्योंकि वे सबसे अधिक पठनीय और स्वच्छ समाधान हैं।
पहले विकल्प को इसके साथ और अधिक पठनीय बनाया जा सकता है:
import {
func1,
func2,
func3,
func4
} from 'path';
फिर भी, यदि आप वास्तव में निर्यात को सूचीबद्ध किए बिना एक वैकल्पिक सिंटैक्स चाहते हैं, तो सभी निर्यात किए गए गुणों को वैश्विक ऑब्जेक्ट में लोड करना तकनीकी रूप से संभव है:
Object.assign(globalThis, require('path'))
हालांकि मैं इसका इस्तेमाल करने के खिलाफ अत्यधिक सलाह दूंगा।
आप अपने विधि 2 के साथ आयात कर सकते हैं और फिर इस तरह एक्सेस ऑब्जेक्ट पर ऑब्जेक्ट डिस्ट्रक्टिंग का उपयोग कर सकते हैं और सीधे उनका उपयोग कर सकते हैं।
import * as access from 'path';
const {func1, func2, func3, func4} = access;
func1();
import {func1,func2,func2,func4} from 'path';
से बेहतर कैसे है? आपके पास अभी भी प्रत्येक "funcN
" के लिए कुछ न कुछ लिखना है। यह सिर्फ इसे एक के बजाय दो चरणों में विभाजित करता है।
importObj.functionName
नोटेशन का उपयोग किए बिना उन कार्यों का उपयोग करें। तो, उस भावना में, मुझे लगता है कि यह ओपी के सामने आने वाली समस्या को हल करता है, लेकिन जिसके लिए बेहतर है, मुझे व्यक्तिगत वरीयता के अलावा किसी भी दृष्टिकोण के किसी भी ठोस लाभ के बारे में पता नहीं है।