Express Js چیست؟
- مقدمهای بر Express.js
- ویژگیهای کلیدی Express.js
- نصب و راهاندازی Express.js
- ساخت اولین برنامه با Express.js
- میانافزار (Middleware) در Express.js
- مدیریت درخواستها و پاسخها
- مدیریت خطاها
- اتصال به پایگاه داده
- مثال عملی: ساخت یک API ساده
- مزایا و معایب Express.js
- بهترین تمرینها در استفاده از Express.js
- نتیجهگیری
مقدمهای بر Express.js
Express.js یا به اختصار Express، یک فریمورک وب برای Node.js است که به توسعهدهندگان کمک میکند برنامههای وب و APIهای قدرتمند و سریع بسازند. Express به دلیل سادگی و انعطافپذیریاش، انتخاب محبوبی بین توسعهدهندگان است.
ویژگیهای کلیدی Express.js
- سادگی و انعطافپذیری: Express.js با داشتن یک رابط کاربری ساده و انعطافپذیر، توسعه را سریع و آسان میکند.
- میانافزار (Middleware): پشتیبانی از میانافزارها برای مدیریت درخواستها و پاسخها.
- روتر پیشرفته: امکان تعریف مسیرهای پویا و پیچیده برای مدیریت درخواستها.
- پشتیبانی از قالبهای مختلف: پشتیبانی از موتورهای قالب مختلف مانند Pug و EJS.
- توسعه سریع: ابزارهای زیادی برای توسعه سریع و بهرهوری بالا.
نصب و راهاندازی Express.js
برای نصب Express.js، ابتدا باید Node.js و npm (مدیر بستههای Node.js) را نصب کنید. سپس میتوانید Express.js را به پروژه خود اضافه کنید.
# ایجاد یک پوشه جدید برای پروژه
mkdir my-express-app
cd my-express-app
# ایجاد یک فایل package.json
npm init -y
# نصب Express.js
npm install express --save
ساخت اولین برنامه با Express.js
پس از نصب Express.js، میتوانید اولین برنامه خود را ایجاد کنید. یک فایل به نام app.js
بسازید و کد زیر را در آن قرار دهید.
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
برای اجرای برنامه، دستور زیر را در ترمینال وارد کنید.
node app.js
میانافزار (Middleware) در Express.js
میانافزارها توابعی هستند که دسترسی به درخواستها و پاسخها را قبل از اینکه به روتر یا کنترلر اصلی برسند، فراهم میکنند. Express.js از انواع مختلف میانافزارها پشتیبانی میکند، از جمله میانافزارهای داخلی، میانافزارهای خارجی و میانافزارهای سفارشی.
مثال زیر نحوه استفاده از یک میانافزار سفارشی را نشان میدهد:
app.use((req, res, next) => {
console.log('Time:', Date.now());
next();
});
مدیریت درخواستها و پاسخها
Express.js امکانات زیادی برای مدیریت درخواستها و پاسخها فراهم میکند. میتوانید مسیرهای مختلفی را تعریف کنید و پاسخهای متفاوتی بر اساس نوع درخواست ارسال کنید.
app.post('/user', (req, res) => {
res.send('Got a POST request');
});
app.put('/user', (req, res) => {
res.send('Got a PUT request at /user');
});
app.delete('/user', (req, res) => {
res.send('Got a DELETE request at /user');
});
مدیریت خطاها
مدیریت خطاها در Express.js بسیار مهم است. شما میتوانید یک میانافزار خطاگیر تعریف کنید که خطاهای موجود در برنامه را مدیریت کند.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something broke!');
});
اتصال به پایگاه داده
Express.js به تنهایی از پایگاه داده پشتیبانی نمیکند، اما میتوانید از ماژولهای مختلفی برای اتصال به پایگاه دادهها استفاده کنید. یکی از محبوبترین ماژولها برای MongoDB، Mongoose است.
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_database', {
useNewUrlParser: true,
useUnifiedTopology: true
});
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', () => {
console.log('Connected to the database');
});
مثال عملی: ساخت یک API ساده
در این بخش، یک API ساده برای مدیریت لیست وظایف (To-Do List) میسازیم.
ابتدا مدل وظیفه را تعریف میکنیم سپس مسیرهای API را تعریف میکنیم:
// ایجاد یک وظیفه جدید
app.post('/tasks', async (req, res) => {
const task = new Task(req.body);
await task.save();
res.status(201).send(task);
});
// دریافت همه وظایف
app.get('/tasks', async (req, res) => {
const tasks = await Task.find();
res.send(tasks);
});
// بهروزرسانی یک وظیفه
app.put('/tasks/:id', async (req, res) => {
const task = await Task.findByIdAndUpdate(req.params.id, req.body, { new: true });
res.send(task);
});
// حذف یک وظیفه
app.delete('/tasks/:id', async (req, res) => {
await Task.findByIdAndDelete(req.params.id);
res.status(204).send();
});
مزایا و معایب Express.js
مزایا:
- سبک وزن: Express.js بسیار سبک و کم حجم است.
- انعطافپذیری بالا: امکان استفاده از انواع مختلف میانافزارها و ماژولها.
- پشتیبانی گسترده: جامعه بزرگی از توسعهدهندگان و منابع آنلاین فراوان.
معایب:
- نیاز به تنظیمات بیشتر: برای پروژههای بزرگتر، نیاز به تنظیمات و پیکربندیهای بیشتری دارد.
- بدون پشتیبانی بومی از پایگاه داده: نیاز به استفاده از ماژولهای جداگانه برای اتصال به پایگاه داده.
بهترین تمرینها در استفاده از Express.js
- استفاده از ساختار پوشه مناسب: برای مدیریت بهتر کدها و خوانایی بیشتر.
- مدیریت صحیح خطاها: ایجاد میانافزارهای خطاگیر برای مدیریت بهتر خطاها.
- استفاده از ابزارهای توسعهدهی: استفاده از ابزارهایی مانند Nodemon برای توسعه سریعتر.
- پیادهسازی تستها: نوشتن تستهای واحد و یکپارچه برای اطمینان از عملکرد صحیح برنامه.
نتیجهگیری
Express.js یک فریمورک قدرتمند و انعطافپذیر برای توسعه برنامههای وب و APIهاست. با استفاده از Express.js، توسعهدهندگان میتوانند برنامههای خود را به سرعت و به راحتی ایجاد و مدیریت کنند. با پیروی از بهترین تمرینها و استفاده از میانافزارها و ماژولهای مناسب، میتوانید برنامههای خود را بهینه و کارآمد نگه دارید.
And To Do So From Now Until The Death, Whatever the Cost
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام