यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
चाहे आप Git से सोर्स कोड क्लोन करें या create-nocobase-app का उपयोग करके कोई प्रोजेक्ट शुरू करें, NocoBase प्रोजेक्ट मूल रूप से एक Yarn Workspace पर आधारित मल्टी-पैकेज रिपॉजिटरी (monorepo) होता है।
नीचे दिया गया उदाहरण my-nocobase-app/ को प्रोजेक्ट डायरेक्टरी के रूप में उपयोग करता है। विभिन्न वातावरणों में थोड़ा अंतर हो सकता है:
packages/ डायरेक्टरी में NocoBase के मुख्य मॉड्यूल और एक्सटेंसिबल पैकेज होते हैं। इसकी सामग्री प्रोजेक्ट के स्रोत पर निर्भर करती है:
create-nocobase-app के माध्यम से बनाए गए प्रोजेक्ट: डिफ़ॉल्ट रूप से, इसमें केवल packages/plugins/ शामिल होता है, जिसका उपयोग कस्टम प्लगइन सोर्स कोड को स्टोर करने के लिए किया जाता है। प्रत्येक सबडायरेक्टरी एक स्वतंत्र npm पैकेज है।core/, plugins/, pro-plugins/, presets/ आदि, जो क्रमशः फ्रेमवर्क कोर, बिल्ट-इन प्लगइन और आधिकारिक प्रीसेट समाधानों के अनुरूप हैं।किसी भी स्थिति में, packages/plugins कस्टम प्लगइन को डेवलप और डीबग करने के लिए मुख्य स्थान है।
storage/ रनटाइम-जेनरेटेड डेटा और बिल्ड आउटपुट को स्टोर करता है। सामान्य सबडायरेक्टरी का विवरण इस प्रकार है:
apps/: मल्टी-ऐप परिदृश्यों के लिए कॉन्फ़िगरेशन और कैश।logs/: रनटाइम लॉग और डीबग आउटपुट।uploads/: उपयोगकर्ता द्वारा अपलोड की गई फ़ाइलें और मीडिया संसाधन।plugins/: UI के माध्यम से अपलोड किए गए या CLI के माध्यम से इम्पोर्ट किए गए पैकेज्ड प्लगइन।tar/: yarn build <plugin> --tar निष्पादित करने के बाद जेनरेट किए गए कंप्रेस्ड प्लगइन पैकेज।आमतौर पर यह सलाह दी जाती है कि
storageडायरेक्टरी को.gitignoreमें जोड़ा जाए और इसे डिप्लॉयमेंट या बैकअप के दौरान अलग से हैंडल किया जाए।
.env, .env.test, .env.e2e: इनका उपयोग क्रमशः लोकल रनिंग, यूनिट/इंटीग्रेशन टेस्टिंग और एंड-टू-एंड टेस्टिंग के लिए किया जाता है।scripts/: इसमें सामान्य मेंटेनेंस स्क्रिप्ट्स (जैसे डेटाबेस इनिशियलाइज़ेशन, रिलीज़ यूटिलिटीज़ आदि) स्टोर होती हैं।प्लगइन कई स्थानों पर मौजूद हो सकते हैं। NocoBase शुरू होने पर उन्हें निम्नलिखित प्राथमिकता क्रम में लोड करेगा:
packages/plugins में सोर्स कोड संस्करण (लोकल डेवलपमेंट और डीबगिंग के लिए)।storage/plugins में पैकेज्ड संस्करण (UI के माध्यम से अपलोड किया गया या CLI के माध्यम से इम्पोर्ट किया गया)।node_modules में डिपेंडेंसी पैकेज (npm/yarn के माध्यम से इंस्टॉल किए गए या फ्रेमवर्क में बिल्ट-इन)।जब एक ही नाम का प्लगइन सोर्स डायरेक्टरी और पैकेज्ड डायरेक्टरी दोनों में मौजूद होता है, तो सिस्टम सोर्स संस्करण को प्राथमिकता देगा, जिससे लोकल ओवरराइड और डीबगिंग में आसानी होगी।
CLI का उपयोग करके एक प्लगइन बनाएँ:
जेनरेटेड डायरेक्टरी संरचना इस प्रकार है:
बिल्ड पूरा होने के बाद,
dist/डायरेक्टरी औरclient.js,server.jsफ़ाइलें प्लगइन सक्षम होने पर लोड हो जाएँगी। डेवलपमेंट के दौरान, आपको केवलsrc/डायरेक्टरी को संशोधित करने की आवश्यकता है। पब्लिश करने से पहले,yarn build <plugin>याyarn build <plugin> --tarनिष्पादित करें।