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

Vercel और Supabase का उपयोग करके NestJS एप्लिकेशन परिनियोजित करना

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

समझें कि वर्सेल पर तैनाती काफी आसान है, हालांकि, कुछ सेटअप हैं जिन्हें आपको तैनाती के दौरान ध्यान में रखना होगा।

आवश्यक शर्तें

  • NestJS प्रोजेक्ट PostgreSQL के साथ विकास परिवेश में स्थानीय रूप से जुड़ा हुआ है और ठीक से काम कर रहा है
  • परिनियोजन के लिए वर्सेल खाता
  • सुपाबेस खाता (हम यहां अपना पोस्टग्रेएसक्यूएल डेटाबेस स्थापित करेंगे)

आइए सुपाबेस सेटअप से शुरुआत करें, यह ध्यान में रखते हुए कि आपका NestJS ऐप परिनियोजन के लिए तैयार है।

सुपाबेस खाता

सुपाबेस आपके पोस्टग्रेएसक्यूएल डेटाबेस के पूर्ण समर्थन और निर्बाध कॉन्फ़िगरेशन के साथ एक ओपनसोर्स फायरबेस विकल्प है, और यह प्रमाणीकरण, भंडारण इत्यादि जैसी अतिरिक्त सुविधाएं भी प्रदान करता है।

सुपाबेस पर एक नया खाता सेट करें और खाते में एक नया प्रोजेक्ट बनाएं।

Deploying NestJS Application using Vercel and Supabase

एक बार सेटअप पूरा हो जाने पर, होम पेज पर connect बटन पर क्लिक करें। यह आपको DB को आपके प्रोजेक्ट से जोड़ने के लिए विभिन्न विकल्प दिखाएगा

Deploying NestJS Application using Vercel and Supabase

यह सुनिश्चित करने के लिए कि सब कुछ पूरी तरह से ठीक से काम कर रहा है, प्रदान किए गए क्रेडेंशियल्स के साथ अपने स्थानीय लोगों पर कनेक्शन का परीक्षण करें।

ध्यान दें: सुनिश्चित करें कि क्रेडेंशियल आपकी .env फ़ाइल में उजागर और संग्रहीत नहीं हैं (मुझे विश्वास है कि आप यह पहले से ही जानते हैं?)

इसके बाद, आइए अपना वर्सेल खाता सेट करें और प्रोजेक्ट तैनात करें

वर्सेल

आम तौर पर, वर्सेल को ज्यादातर फ्रंट-एंड ऐप परिनियोजन के लिए उपयोग करने के लिए जाना जाता है, हालांकि, इसका उपयोग बैकएंड प्रोजेक्ट्स को तैनात करने के लिए भी किया जा सकता है।

पीएस: यदि आप अपने बैकएंड परिनियोजन के लिए मध्यम से बड़े पैमाने के प्रोजेक्ट पर काम कर रहे हैं तो इसके बजाय एक उपयुक्त सेवा प्रदाता का उपयोग करें।

अपने वर्सेल खाते पर, एक नया प्रोजेक्ट बनाएं और अपने गिट रिपॉजिटरी से कनेक्ट करें। अपनी .env फ़ाइल आयात करें और Deploy बटन पर क्लिक करें।

Deploying NestJS Application using Vercel and Supabase

वोइला, बस इतना ही ???.
...

आम समस्याओं का सामना करना पड़ सकता है

# त्रुटि: "सार्वजनिक" नाम की कोई आउटपुट निर्देशिका नहीं

Deploying NestJS Application using Vercel and Supabase

यह एक सामान्य त्रुटि है क्योंकि वर्सेल को निर्माण प्रक्रिया के दौरान आपकी आउटपुट निर्देशिका जानने की आवश्यकता होती है। इसे ठीक करने के लिए, बस एक versel.json फ़ाइल जोड़ें और इसे कॉपी करें:

{
  "version": 2,

  "builds": [
    {
      "src": "src/main.ts",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "src/main.ts",
      "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]
    }
  ]
} 

परिनियोजन फिर से चलाएँ और बस इतना ही

...

# त्रुटि: यह सर्वर रहित फ़ंक्शन क्रैश हो गया है

Deploying NestJS Application using Vercel and Supabase

मेरे मामले में, यह एक मॉड्यूल नहीं मिला त्रुटि के कारण था

Deploying NestJS Application using Vercel and Supabase

...
इस समस्या को ठीक करने के कई तरीके हैं:

विधि 1 (अपने सभी आयातों को सापेक्ष पथ से बदलें)

से

import { UsersService } from 'src/users/users.service';

को

import { UsersService } from '../users/users.service';

...

विधि 2 (अपनी vercel.json फ़ाइल और .gitignore फ़ाइल को संशोधित करें)

मैं अंततः इस विधि के साथ गया क्योंकि मुझे अपने ऐप को केवल सापेक्ष पथ आयात का उपयोग करने तक सीमित रखने की आवश्यकता नहीं थी।

तो, vercel.json को इसमें संशोधित करें

{
  "version": 2,

  "builds": [
    {
      "src": "dist/main.js",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "dist/main.js",
      "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"]
    }
  ]
}

अपनी .gitignore फ़ाइल पर जाएं और /dist को हटा दें।

एक नई तैनाती चलाएँ और बस इतना ही।

हैप्पी कोडिंग! ?

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/abayomijohn273/deploying-nestjs-application-using-vercel-and-supabase-3n7m?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3