सार्वजनिक API और एंट्री पॉइंट
साफ़-सुथरी लाइब्रेरी सतह डिज़ाइन करें
सार्वजनिक API और एंट्री पॉइंट, CoddyKit पर Angular Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Angular Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सार्वजनिक API सतह
लाइब्रेरी को केवल वही चीज़ें एक्सपोज़ करनी चाहिए जिनका उपयोग उपभोक्ताओं से अपेक्षित है। सार्वजनिक API एक्सपोर्ट का चुना हुआ समूह है; बाकी सब आंतरिक रहता है। एंगुलर लाइब्रेरी में यह सतह public-api.ts द्वारा निर्धारित होती है।
बैरेल के रूप में public-api.ts
public-api.ts उन सिंबल को दोबारा एक्सपोर्ट करता है जिनका उपयोग उपभोक्ता कर सकते हैं। यदि कोई चीज़ यहाँ एक्सपोर्ट नहीं की गई है, तो स्रोत में मौजूद होने पर भी वह प्रभावी रूप से निजी रहती है।
// projects/ui-kit/src/public-api.ts
export * from './lib/button/button.component';
export * from './lib/theme.service';
// internal helpers are intentionally NOT exportedआंतरिक चीज़ें क्यों छिपाएँ
हेल्पर को निजी रखने से आप उपभोक्ताओं को प्रभावित किए बिना उनमें स्वतंत्र रूप से बदलाव कर सकते हैं। छोटी और सोच-समझकर बनाई गई सार्वजनिक API, हर चीज़ एक्सपोर्ट करने की तुलना में, दस्तावेज़ित करना, संस्करण निर्धारित करना और बनाए रखना आसान होती है।
प्रकार और टोकन एक्सपोर्ट करना
सार्वजनिक API में केवल कंपोनेंट ही नहीं, बल्कि वे इंटरफ़ेस, प्रकार और इंजेक्शन टोकन भी शामिल होते हैं जिनकी उपभोक्ताओं को उनका सही उपयोग करने के लिए आवश्यकता होती है।
export { ButtonComponent } from './lib/button/button.component';
export type { ButtonVariant } from './lib/button/button.types';
export { THEME_CONFIG } from './lib/theme.tokens';द्वितीयक एंट्री पॉइंट
बड़ी लाइब्रेरी द्वितीयक एंट्री पॉइंट में विभाजित होती हैं, ताकि उपभोक्ता केवल आवश्यक चीज़ें इम्पोर्ट करें (जिससे ट्री-शेकिंग बेहतर होती है)। उदाहरण के लिए, ui-kit/testing को ui-kit से अलग रखा जा सकता है।
import { ButtonComponent } from 'ui-kit';
import { provideUiKitTesting } from 'ui-kit/testing';द्वितीयक एंट्री पॉइंट बनाना
द्वितीयक एंट्री पॉइंट एक ऐसा सबफ़ोल्डर होता है जिसमें अपना ng-package.json और public-api.ts होता है। ng-packagr इसे अपने-आप खोज लेता है और अलग इम्पोर्ट पथ के रूप में बिल्ड करता है।
projects/ui-kit/
testing/
ng-package.json # marks a secondary entry point
src/public-api.tsमुख्य एंट्री पॉइंट मैपिंग
लाइब्रेरी का ng-package.json अपने entryFile को public-api.ts पर सेट करता है और बिल्ड को बताता है कि मुख्य सार्वजनिक सतह वाली फ़ाइल कौन-सी है।
// projects/ui-kit/ng-package.json
{
"lib": { "entryFile": "src/public-api.ts" }
}स्थिरता के लिए डिज़ाइन करना
सार्वजनिक API को एक अनुबंध मानें: किसी एक्सपोर्ट को हटाना या उसका नाम बदलना विघटनकारी बदलाव है। नए एक्सपोर्ट स्वतंत्र रूप से जोड़ें, लेकिन हटाने से पहले उन्हें अप्रचलित घोषित करें, ताकि उपभोक्ताओं को स्थानांतरित होने का समय मिल सके।
डीप इम्पोर्ट से बचना
क्योंकि अनुबंध केवल public-api.ts है, इसलिए उपभोक्ताओं को ui-kit/lib/button/internal जैसे आंतरिक पथों से कभी भी डीप इम्पोर्ट नहीं करना चाहिए। बैरल के माध्यम से एक्सपोर्ट करने से एक स्थिर इम्पोर्ट सतह बनी रहती है।
तृतीय-पक्ष प्रकारों को दोबारा एक्सपोर्ट करना
यदि आपकी API विधि किसी अन्य पैकेज के प्रकार को लौटाती है, तो उस प्रकार को दोबारा एक्सपोर्ट करें, ताकि उपभोक्ताओं को केवल उसका नाम लिखने के लिए अलग निर्भरता न चाहिए। इससे सार्वजनिक सतह आत्मनिर्भर रहती है।
सतह का दस्तावेज़ीकरण
एक्सपोर्ट किए गए सिंबल में JSDoc टिप्पणियाँ जोड़ें। उपभोक्ताओं को केवल सार्वजनिक API की चीज़ें दिखाई देती हैं, इसलिए उनका दस्तावेज़ीकरण करने से उपयोगकर्ताओं को IntelliSense और उपयोग के स्पष्ट निर्देश मिलते हैं।
त्वरित जाँच
उपभोक्ता क्या इम्पोर्ट कर सकते हैं, यह किससे निर्धारित होता है?
पुनरावलोकन
सार्वजनिक API को public-api.ts में चुना जाता है, जो कंपोनेंट, प्रकार और टोकन को दोबारा एक्सपोर्ट करता है; बाकी सब निजी और पुनर्गठन योग्य रहता है। बड़ी लाइब्रेरी के लिए द्वितीयक एंट्री पॉइंट का उपयोग करें, ng-package.json को एंट्री फ़ाइल पर निर्देशित करें, डीप इम्पोर्ट से बचें और सतह को एक स्थिर, दस्तावेज़ित अनुबंध मानें।
एआई शिक्षक के साथ HTML सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 38
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “सार्वजनिक API और एंट्री पॉइंट” पाठ निःशुल्क है?
हाँ — Angular Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सार्वजनिक API और एंट्री पॉइंट” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“सार्वजनिक API और एंट्री पॉइंट” में मैं क्या सीखूँगा?
साफ़-सुथरी लाइब्रेरी सतह डिज़ाइन करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Angular Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Angular Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Angular Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“सार्वजनिक API और एंट्री पॉइंट” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Angular Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Angular Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- ng generate से लाइब्रेरी बनाना
- सार्वजनिक API और एंट्री पॉइंट
- ng-packagr से बिल्ड करना
- npm पर प्रकाशित करना