की तर्ज पर जावास्क्रिप्ट मॉड्यूल आयात करते समय

{
  import {Widget} from "[some-path]/widget";
}

क्या इसे पंजीकृत करना, या इसे इस तरह कॉन्फ़िगर करना संभव है कि मैं एक पैकेज बना सकूं जिसे मैं मौजूदा विजेट पैकेज को बदलने और इस विजेट को आयात करने वाले सभी विभिन्न मॉड्यूल को बदले बिना बदलना चाहता हूं?

{
  const BetterWidget = () => { ...//my cool code};
}

तो अगर कोई मूल विजेट आयात करता है, तो उन्हें मेरा चमकदार नया मिलता है?

मुझे एहसास है कि ऐसा करने के लिए गंभीर असर हैं, लेकिन मैं सोच रहा हूं कि जावास्क्रिप्ट में इसे प्राप्त करने के लिए कोई पैटर्न है या नहीं?

0
Dean 17 सितंबर 2020, 20:21

1 उत्तर

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

जावास्क्रिप्ट स्वयं कुछ भी परिभाषित नहीं करता है जो आपको ऐसा करने देता है, नहीं, कम से कम नहीं क्योंकि जावास्क्रिप्ट स्वयं आयात विनिर्देशों की सामग्री को बिल्कुल भी निर्दिष्ट नहीं करता है; बस वे तार हैं जो मेजबान को मॉड्यूल को हल करने के लिए उपयोग करना चाहिए।

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

इसी तरह, ब्राउज़रों पर, नक्शे आयात करें प्रस्ताव ब्राउज़र पर कच्चे विनिर्देशों को सक्षम करेगा, जो तब प्राप्त करेंगे आयात मानचित्र के माध्यम से हल किया गया; और इस प्रकार आपका पृष्ठ कह सकता है कि "widget" वास्तव में "./nifty-shiny-new-widget.js" है।

1
T.J. Crowder 17 सितंबर 2020, 17:27