यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase प्लगइन डेवलपमेंट में, डिपेंडेंसी को दो श्रेणियों में बांटा गया है: स्वयं की डिपेंडेंसी और ग्लोबल डिपेंडेंसी।
@nocobase/server और @nocobase/client द्वारा प्रदान की जाती हैं, और प्लगइन को इन्हें अलग से बंडल करने की आवश्यकता नहीं होती है।चूंकि स्वयं की डिपेंडेंसी को प्लगइन के आर्टिफैक्ट्स में बंडल किया जाएगा (जिसमें सर्वर डिपेंडेंसी का dist/node_modules में बंडल होना भी शामिल है), इसलिए प्लगइन डेवलपमेंट के दौरान, आप सभी डिपेंडेंसी को dependencies के बजाय devDependencies में घोषित कर सकते हैं। इससे डेवलपमेंट और प्रोडक्शन एनवायरनमेंट के बीच अंतर से बचा जा सकता है।
जब किसी प्लगइन को निम्नलिखित डिपेंडेंसी इंस्टॉल करने की आवश्यकता हो, तो कृपया सुनिश्चित करें कि वर्जन नंबर ग्लोबल डिपेंडेंसी में @nocobase/server और @nocobase/client के साथ मेल खाता हो, अन्यथा रनटाइम में टकराव हो सकता है।
निम्नलिखित डिपेंडेंसी NocoBase द्वारा प्रदान की जाती हैं और इन्हें प्लगइन में बंडल करने की आवश्यकता नहीं होती है। यदि इनकी वास्तव में आवश्यकता हो, तो इन्हें फ्रेमवर्क वर्जन के साथ मेल खाना चाहिए।
डिपेंडेंसी में निरंतरता बनाए रखें
यदि आपको उन पैकेजों का उपयोग करने की आवश्यकता है जो पहले से ही ग्लोबल डिपेंडेंसी में मौजूद हैं, तो अलग-अलग वर्जन इंस्टॉल करने से बचें और सीधे ग्लोबल डिपेंडेंसी का उपयोग करें।
बंडल का आकार कम करें
सामान्य UI लाइब्रेरीज़ (जैसे antd), यूटिलिटी लाइब्रेरीज़ (जैसे lodash), डेटाबेस ड्राइवर (जैसे pg, mysql2) के लिए, आपको ग्लोबली प्रदान किए गए वर्जन पर निर्भर रहना चाहिए ताकि डुप्लिकेट बंडलिंग से बचा जा सके।
डीबग और प्रोडक्शन एनवायरनमेंट के बीच निरंतरता
devDependencies का उपयोग करने से डेवलपमेंट और अंतिम आर्टिफैक्ट्स के बीच निरंतरता सुनिश्चित होती है, जिससे dependencies और peerDependencies के अनुचित कॉन्फ़िगरेशन के कारण होने वाले एनवायरनमेंट संबंधी अंतरों से बचा जा सकता है।