यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase में, क्लाइंट प्लगइन फ्रंटएंड कार्यक्षमता को बढ़ाने और अनुकूलित करने का मुख्य तरीका है। @nocobase/client द्वारा प्रदान की गई Plugin बेस क्लास को इनहेरिट करके, डेवलपर्स विभिन्न जीवनचक्र चरणों में लॉजिक रजिस्टर कर सकते हैं, पेज कंपोनेंट जोड़ सकते हैं, मेनू का विस्तार कर सकते हैं या तीसरे पक्ष की कार्यक्षमता को एकीकृत कर सकते हैं।
एक सबसे बुनियादी क्लाइंट-साइड प्लगइन संरचना इस प्रकार है:
जब ब्राउज़र रीफ़्रेश होता है या एप्लिकेशन इनिशियलाइज़ होता है, तो प्रत्येक प्लगइन क्रमशः निम्नलिखित जीवनचक्र से गुजरता है:
| जीवनचक्र विधि | निष्पादन का समय | विवरण |
|---|---|---|
| afterAdd() | प्लगइन को प्लगइन मैनेजर में जोड़ने के तुरंत बाद निष्पादित होता है | इस समय प्लगइन इंस्टेंस बन चुका होता है, लेकिन सभी प्लगइन इनिशियलाइज़ नहीं हुए होते हैं। यह हल्के इनिशियलाइज़ेशन के लिए उपयुक्त है, जैसे कॉन्फ़िगरेशन पढ़ना या बुनियादी इवेंट्स को बाइंड करना। |
| beforeLoad() | सभी प्लगइन्स के load() से पहले निष्पादित होता है | आप सभी सक्षम प्लगइन इंस्टेंस (this.app.pm.get()) को एक्सेस कर सकते हैं। यह उस तैयारी के लॉजिक को निष्पादित करने के लिए उपयुक्त है जो अन्य प्लगइन्स पर निर्भर करता है। |
| load() | प्लगइन लोड होने पर निष्पादित होता है | सभी प्लगइन्स के beforeLoad() के पूरा होने के बाद यह विधि निष्पादित होती है। यह फ्रंटएंड राउट्स, यूआई कंपोनेंट और अन्य मुख्य लॉजिक को रजिस्टर करने के लिए उपयुक्त है। |
हर बार जब ब्राउज़र रीफ़्रेश होता है, तो afterAdd() → beforeLoad() → load() निष्पादित होगा।
NocoBase 2.0 से शुरू होकर, क्लाइंट-साइड एक्सटेंशन एपीआई मुख्य रूप से फ्लोइंजन में केंद्रित हैं। प्लगइन क्लास में, आप this.engine के माध्यम से इंजन इंस्टेंस प्राप्त कर सकते हैं।
अधिक जानकारी के लिए देखें: