استقرار Node.js با برنامه TypeScript + MongoDB در Vercel به عنوان یک عملکرد بدون سرور

سلام devs ،
همه ما با شرایطی روبرو شده ایم که به یک API نقطه پایانی نیاز داریم ، که طبق نیاز ما عمل می کند اما نتوانستیم آنچه را که می خواستیم پیدا کنیم.
بنابراین ، در اینجا یکی از راه حل های بسیاری است که من استفاده کرده ام
بیایید یک برنامه node.js را به صورت رایگان مستقر کنیم
مقدمه
امنیت جنبه مهمی از برنامه های وب مدرن است. در این وبلاگ ، ما با استفاده از احراز هویت TypeScript ، MongoDB و Json Web Token (JWT) از طریق ساخت یک برنامه Node.js Secure.
پیش نیازهای
- قبل از شروع ، مطمئن شوید که موارد زیر را نصب کرده اید:
- node.js (v18 یا بعد)
- MongoDB (محلی یا مبتنی بر ابر ، به عنوان مثال ، اطلس MongoDB)
- شرح
- ویرایشگر کد (در مقابل کد توصیه می شود)
تنظیم پروژه:
mkdir node-app && node-app
npm init -y
npm install typescript ts-node @types/node --save-dev
npx tsc --init
اصلاح tsconfig.json
:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
},
"include": ["./**"],
"exclude": ["node_modules"]
}
بسته های مورد نیاز را نصب کنید:
npm install express mongoose jsonwebtoken bcryptjs dotenv cors
npm install --save-dev @types/express @types/jsonwebtoken @types/bcryptjs @types/cors
npm i -g nodemon
از اینجا ما می رویم و دو مسیر برای برنامه خود ایجاد خواهیم کرد و سپس برنامه خود را به Vercel مستقر خواهیم کرد:
در اینجا پرونده index.ts من است:
import express, { Express, Request, Response } from 'express';
import * as dotenv from 'dotenv';
import cors from 'cors';
import mongoose from "mongoose";
// Load environment variables from .env file
dotenv.config();
const app: Express = express();
const PORT= Number(process.env.PORT) || 3000;
// Connect to MongoDB
mongoose.connect(process.env.MONGO_URI as string)
.then(() => console.log("MongoDB connected"))
.catch(err => console.error("MongoDB connection error:", err));
// Middleware to parse JSON bodies
app.use(express.json());
// CORS configuration
app.use(cors());
// Basic route
app.get('/', (req: Request, res: Response) => {
res.json({ message: 'Hello from TypeScript Express!' });
});
app.get('/health', (req: Request, res: Response) => {
res.json({ message: 'Application Running' });
});
console.log(process.env);
// Start server
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
ایجاد a .env
پرونده
PORT=5000
MONGO_URI=your_mongodb_connection_string
اکنون در محلی دستور زیر را اجرا کنید:
nodemon index.ts
باید منجر شود
Server is running on port ${PORT}
بیایید اکنون به قسمت جالب برسیم و درخواست را در Vercel مستقر کنیم
اگر هیچ حساب Vercel ندارید ، پس از آن با GitHub وارد شوید.
نکته اصلی ایجاد پیکربندی Vercel است که به Vercel می گوید که چگونه برنامه ما باید رفتار کند:
- پرونده vercel.json را برای برنامه اضافه کنید:
{
"version": 2,
"builds": [
{
"src": "src/index.ts",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "src/index.ts"
}
]
}
- بیایید با استفاده از ترمینال خود برنامه را ایجاد و مستقر کنیم:
vercel --prod
پس از استقرار می توانید برنامه Vercel خود را به repo Github خود وصل کرده و کد را در هر فشار روی شعبه مورد نظر خود مستقر کنید.
گزارش های برنامه خود را در vercel.com/ {your_username }/ {app_name }/logs باز کنید
من برای این کار بیشتر در مخزن GitHub خود اضافه کرده ام:
git: https://github.com/harish9312/node-vercel
base_url: https://node-vercel-ts-mongo.vercel.app/
برای اصلاحات/پیشنهاد باز کنید و نظرات خود را به اشتراک بگذارید