"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > create-next-app इस पैकेज का उपयोग करके आपके ऐप नाम को मान्य करता है

create-next-app इस पैकेज का उपयोग करके आपके ऐप नाम को मान्य करता है

2024-11-07 को प्रकाशित
ब्राउज़ करें:542

इस आलेख में, हम विश्लेषण करते हैं कि क्रिएट-नेक्स्ट-ऐप आपके प्रोजेक्ट नाम को कैसे मान्य करता है।

validate: (name) => {
 const validation = validateNpmName(basename(resolve(name)))
 if (validation.valid) {
   return true
 }
 return 'Invalid project name: '   validation.problems[0]
},

क्या आपने create-next-app कमांड का उपयोग करते समय अपने प्रोजेक्ट को रिक्त स्थान के साथ नाम देने का प्रयास किया है? यदि आपने ऐसा किया है, तो यह आपके प्रोजेक्ट में रिक्त स्थान की अनुमति नहीं देगा क्योंकि जब आपके प्रोजेक्ट का नामकरण करने की बात आती है तो यह कुछ सिद्धांतों का पालन करता है।

तो ये नामकरण परंपरा नियम क्या हैं?

NpmName फ़ंक्शन को मान्य करें

यदि आप इस create-next-app/index.ts की जांच करते हैं, तो यह एक ValidateNpmName नामक फ़ंक्शन को कॉल करता है। इसे helpers/validate-pkg.ts

से आयात किया गया है

create-next-app validates your app name using this package

यह फ़ंक्शन सीधे आगे है, एक फ़ंक्शन को कॉल करता है जिसे वैलिडेटप्रोजेक्टनाम कहा जाता है जिसे वैलिडेट-एनपीएम-पैकेज-नाम से आयात किया जाता है।

दस्तावेज़ीकरण कहता है कि यदि कोई नाम वैध है, तो आपको नीचे दी गई वस्तु वापस मिल जाएगी:

{
 validForNewPackages: true,
 validForOldPackages: true
}

किसी नाम को क्या वैध बनाता है? आइए दस्तावेज़ की फिर से जाँच करें। दस्तावेज़ीकरण ये नामकरण नियम प्रदान करता है:

  1. पैकेज नाम की लंबाई शून्य से अधिक होनी चाहिए

  2. पैकेज नाम के सभी अक्षर लोअरकेस होने चाहिए यानी, किसी भी अपरकेस या मिश्रित केस नाम की अनुमति नहीं है

  3. पैकेज नाम में हाइफ़न शामिल हो सकते हैं

  4. पैकेज नाम में कोई भी गैर-यूआरएल-सुरक्षित वर्ण नहीं होना चाहिए (क्योंकि नाम अंततः यूआरएल का हिस्सा बन जाता है)

  5. पैकेज का नाम से शुरू नहीं होना चाहिए। या _

  6. पैकेज नाम में कोई रिक्त स्थान नहीं होना चाहिए

  7. पैकेज नाम में निम्नलिखित में से कोई भी अक्षर नहीं होना चाहिए: ~)('!*

  8. पैकेज का नाम नोड.जेएस/आईओ.जेएस कोर मॉड्यूल के समान नहीं हो सकता और न ही आरक्षित/ब्लैकलिस्टेड नाम के समान हो सकता है। उदाहरण के लिए, निम्नलिखित नाम अमान्य हैं:

    - http

    - धारा

    - नोड_मॉड्यूल

    - favicon.ico

  9. पैकेज नाम की लंबाई 214 से अधिक नहीं हो सकती

ये वे नियम हैं जिन्हें आपको अपने Next.js प्रोजेक्ट का नामकरण करते समय ध्यान में रखना चाहिए।

हमारे बारे में:

थिंक थ्रू में, हम ओपन-सोर्स परियोजनाओं में उपयोग की जाने वाली उन्नत कोडबेस वास्तुशिल्प अवधारणाओं को सिखाने के मिशन पर हैं।

नेक्स्ट.जेएस/रिएक्ट में उन्नत वास्तुशिल्प अवधारणाओं का अभ्यास करके अपने कोडिंग कौशल को 10 गुना करें, सर्वोत्तम प्रथाओं को सीखें और उत्पादन-ग्रेड परियोजनाओं का निर्माण करें।

हम खुले स्रोत हैं - https://github.com/thinkthroo/thinkthroo (हमें एक स्टार अवश्य दें!)

हम वेब विकास और तकनीकी लेखन सेवाएं भी प्रदान करते हैं। अधिक जानने के लिए [email protected] पर हमसे संपर्क करें!

संदर्भ:

1. https://github.com/vercel/next.js/blob/canary/packages/create-next-app/index.ts#L162

2. https://github.com/vercel/next.js/blob/canary/packages/create-next-app/helpers/validate-pkg.ts#L13

3. https://www.npmjs.com/package/validate-npm-package-name

4. https://github.com/npm/validate-npm-package-name/tree/main



विज्ञप्ति वक्तव्य इस लेख को इस पर पुनर्मुद्रित किया गया है: https://dev.to/thinkthroo/create-next-app-validates-your-app-name-using-this-package-3kpg?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3