Express.JS - TypeScript Server Create
🔹 Express.JS এবং TypeScript দিয়ে Server তৈরি করার জন্য প্রয়োজনীয় Module
Express.js এবং TypeScript দিয়ে সার্ভার তৈরি করতে আমাদের কিছু মডিউল ইনস্টল করতে হবে। এই মডিউলগুলো হলো:
express: Express সার্ভার তৈরি করার জন্য এটি প্রয়োজন।
-
@types/node: Node.js এর ডেটাটাইপগুলো অ্যাক্সেস করার জন্য এটি প্রয়োজন।
-
@types/express: Express.js এর ডেটাটাইপগুলো অ্যাক্সেস করার জন্য এটি প্রয়োজন।
morgan
এবং cors
প্যাকেজগুলোর জন্য TypeScript ডেফিনিশন ফাইলগুলো আলাদা করে ইনস্টল করতে হবে।@types/morgan
@types/cors
Express সার্ভার তৈরি করা
এখন, নিচে একটি সিম্পল Express.js সার্ভার TypeScript দিয়ে তৈরি করা হয়েছে:
import { Application, Request, Response, NextFunction } from 'express';
import * as express from "express";
let app: Application = express();
app.get("/", function(req: Request, res: Response): void {
res.status(200).json({
status: 200,
data: "Home Page"
});
});
// Handle the router error
app.use(function(req: Request, res: Response, next: NextFunction): void {
res.status(404).json({
status: 404,
data: "Page Not Found!"
});
});
// Handle the server error
app.use(function(err: any, req: Request, res: Response, next: NextFunction): void {
res.status(500).json({
status: 500,
data: "Find Server Error!",
error: err
});
});
// Start the server
app.listen(3000, function(): void {
console.log(`Server is running at http://localhost:3000...`);
});
কোড বিশ্লেষণ:
-
Express এবং TypeScript ইমপোর্ট:
import { Application, Request, Response, NextFunction } from 'express';
-
import * as express from 'express';
এখানেexpress
এবং TypeScript-এর টাইপগুলো ইমপোর্ট করা হয়েছে।
-
Express অ্যাপ্লিকেশন তৈরি:
-
let app: Application = express();
এটি একটিExpress
অ্যাপ্লিকেশন তৈরি করছে।
-
-
GET রাউট (Home Page):
-
এখানে
/
রাউট ব্যবহার করা হয়েছে, যা200 OK
স্ট্যাটাস সহ "Home Page" ডেটা রিটার্ন করে।
-
-
Router Error Handling:
-
404 error হ্যান্ডল করতে
app.use()
ব্যবহার করা হয়েছে, যেখানে "Page Not Found!" মেসেজ প্রদান করা হয়েছে।
-
-
Server Error Handling:
-
যদি সার্ভার এ কোনো ত্রুটি হয়, তবে 500 error কোড সহ "Find Server Error!" এবং ত্রুটি সংক্রান্ত বিস্তারিত তথ্য ফেরত দেয়া হচ্ছে।
-
-
Server Start:
-
সার্ভারটি 3000 পোর্টে চালু করা হচ্ছে এবং কনসোলে সেভেনিং মেসেজ প্রিন্ট হবে।
-
নোট:
তুমি যদি
PORT
ভেরিয়েবল.env
ফাইল থেকে নিতে চাও, তবেdotenv
প্যাকেজ ব্যবহার করতে পারো।-
TypeScript এর সাহায্যে Express.js প্রকল্পে ডেটাটাইপিং (type-checking) পাওয়া যায়, যা কোডকে আরো সুরক্ষিত এবং নির্ভুল করে তোলে।
🔹 Express.js Datatypes
Request →
Req এর datatype
-
Response →
Res
এর datatype -
Application →
express server
এর datatype -
NextFunction →
middleware
এর datatype
আমরা যখন @types/express এই মডিউলটি ইনস্টল করেছি, তখন Express.js এর এই ডেটাটাইপগুলো আমাদের প্রোজেক্টে সঠিকভাবে ব্যবহারের জন্য উপলব্ধ হয়েছে। যদি আমরা @types/express মডিউলটি ইনস্টল না করতাম, তবে এই ডেটাটাইপগুলো ব্যবহার করতে পারতাম না এবং TypeScript আমাদের সেগুলোর জন্য টাইপ চেকিং করতে পারত না।