Express.js – انجمن DEV

Summarize this content to 400 words in Persian Lang
اکسپرس چیست؟
Express.js یا به سادگی Express، یک چارچوب برنامه کاربردی وب برای ساخت API های RESTful با Node.js است که به عنوان نرم افزار رایگان و منبع باز تحت مجوز MIT منتشر شده است. برای ساخت برنامه های کاربردی وب و API طراحی شده است. آن را فریم ورک استاندارد سرور برای Node.js می نامند
مقداردهی اولیه:
npm init
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
نصب اکسپرس:
npm install express –save
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
نصب nodemon
npm i nodemon
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
nodemon ابزاری است که به توسعه برنامههای مبتنی بر Node.js با راهاندازی خودکار برنامه نود هنگام شناسایی تغییرات فایل در فهرست، کمک میکند.
سرور اکسپرس را بر روی: localhost:3000
ارسال json: localhost:3000/jsonexample
path یک ماژول inbuild استمی توانیم دایرکتوری ها را فراخوانی کنیم
پارامترها
ویژگی req.params یک شی است که حاوی ویژگی هایی است که به مسیر نامگذاری شده «پارامترها» نگاشت شده است. به عنوان مثال، اگر مسیر /student/:id را دارید، ویژگی “id” به عنوان req.params.id در دسترس است. این شی به طور پیش فرض روی {} است.http://localhost:3000/api/products/3
پرس و جوویژگی req.query به شما امکان می دهد از URL درخواست HTTP ورودی به پارامترهای پرس و جو دسترسی داشته باشید. پارامترهای پرس و جو جفت های کلید-مقدار هستند که در URL بعد از “؟” گنجانده شده اند. نماد، و آنها با نمادهای “&” از هم جدا می شوند.http://localhost:3000/api/v1/query?search=r&limit=2
عملیات خام خامماژول ها
const express = require(‘express’)
const app = express();
//app.use(express.json());
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
let books یک arr obj است
let books = [
{id:1,title:’Book 1′,author: ‘author 1′},
{id:2,title:’Book 2’,author: ‘author 2’},
]
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
خواندن
app.get(“https://dev.to/”, (req, res) => {
res.json(books)
})
app.use(express.json())
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
ايجاد كردن
app.post(‘/books’, (req, res) => {
console.log(req.body)
const newBook = req.body;
newBook.id = books.length + 1;
books.push(newBook);
res.status(201).json(newBook)
})
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
به روز رسانی/قرار دادن
app.put(‘/books/:id’,(req, res)=> {
const id = parseInt(req.params.id)
const updatedBooks = req.body
const index = books.findIndex(book => book.id === id);
if (index !== -1) {
books[index] = { …books[index], …updatedBooks }
res.json(books[index])
}
else {
res.status(404).json({error: “book not found”})
}
})
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
حذف
app.delete(‘/books/:id’, (req, res) => {
const id = parseInt(req.params.id);
const index = books.findIndex((book) => book.id === id);
if (index !== -1) {
const deletedBook = books[index];
books.slice(index, 1);
res.json(deletedBook);
} else {
res.status(404).json({ error: “book not found” });
}
})
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بندر
app.listen(3000, () => {
console.log(‘server is running on port 3000’)
})
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اما این روش خوبی برای اجرای عملیات CRUD نیستراه بهتری وجود داردساختار پوشه
index.js
const express = require(‘express’)
const app = express();
const bookRoutes=require(‘./routes/bookRoutes’)
app.use(express.json());
app.use(“https://dev.to/”,bookRoutes)
app.listen(3000, () => {
console.log(‘server is running on port 3000’)
})
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
bookController.js
let books = [
{ id: 1, title: “Book 1”, author: “author 1” },
{ id: 2, title: “Book 2”, author: “author 2” },
];
//read
const getBooks=(req, res) => {
res.json(books);
}
//create
const createBooks= (req, res) => {
console.log(req.body);
const newBook = req.body;
newBook.id = books.length + 1;
books.push(newBook);
res.status(201).json(newBook);
}
//update /put
const updateBooks= (req, res) => {
const id = parseInt(req.params.id);
const updatedBooks = req.body;
const index = books.findIndex((book) => book.id === id);
if (index !== -1) {
books[index] = { …books[index], …updatedBooks };
res.json(books[index]);
} else {
res.status(404).json({ error: “book not found” });
}
}
//delete
const deleteBooks= (req, res) => {
const id = parseInt(req.params.id);
const index = books.findIndex((book) => book.id === id);
if (index !== -1) {
const deletedBook = books[index];
books.slice(index, 1);
res.json(deletedBook);
} else {
res.status(404).json({ error: “book not found” });
}
}
module.exports = {
getBooks,createBooks,updateBooks,deleteBooks
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
bookRoutes.js
const express = require(‘express’)
const bookController = require(‘../controllers/bookController’)
const router = express.Router()
router.get(‘/books’,bookController.getBooks)
router.post(‘/books’,bookController.createBooks)
router.put(‘/books/:id’,bookController.updateBooks)
router.delete(‘/books/:id’, bookController.deleteBooks)
module.exports = router;
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
در github چک کنید:
اکسپرس چیست؟
Express.js یا به سادگی Express، یک چارچوب برنامه کاربردی وب برای ساخت API های RESTful با Node.js است که به عنوان نرم افزار رایگان و منبع باز تحت مجوز MIT منتشر شده است. برای ساخت برنامه های کاربردی وب و API طراحی شده است. آن را فریم ورک استاندارد سرور برای Node.js می نامند
مقداردهی اولیه:
npm init
نصب اکسپرس:
npm install express --save
نصب nodemon
npm i nodemon
nodemon ابزاری است که به توسعه برنامههای مبتنی بر Node.js با راهاندازی خودکار برنامه نود هنگام شناسایی تغییرات فایل در فهرست، کمک میکند.
سرور اکسپرس را بر روی: localhost:3000
ارسال json: localhost:3000/jsonexample
path یک ماژول inbuild است
می توانیم دایرکتوری ها را فراخوانی کنیم
پارامترها
ویژگی req.params یک شی است که حاوی ویژگی هایی است که به مسیر نامگذاری شده «پارامترها» نگاشت شده است. به عنوان مثال، اگر مسیر /student/:id را دارید، ویژگی “id” به عنوان req.params.id در دسترس است. این شی به طور پیش فرض روی {} است.http://localhost:3000/api/products/3
پرس و جو
ویژگی req.query به شما امکان می دهد از URL درخواست HTTP ورودی به پارامترهای پرس و جو دسترسی داشته باشید. پارامترهای پرس و جو جفت های کلید-مقدار هستند که در URL بعد از “؟” گنجانده شده اند. نماد، و آنها با نمادهای “&” از هم جدا می شوند.http://localhost:3000/api/v1/query?search=r&limit=2
عملیات خام خام
ماژول ها
const express = require('express')
const app = express();
//app.use(express.json());
let books یک arr obj است
let books = [
{id:1,title:'Book 1',author: 'author 1'},
{id:2,title:'Book 2',author: 'author 2'},
]
خواندن
app.get("https://dev.to/", (req, res) => {
res.json(books)
})
app.use(express.json())
ايجاد كردن
app.post('/books', (req, res) => {
console.log(req.body)
const newBook = req.body;
newBook.id = books.length + 1;
books.push(newBook);
res.status(201).json(newBook)
})
به روز رسانی/قرار دادن
app.put('/books/:id',(req, res)=> {
const id = parseInt(req.params.id)
const updatedBooks = req.body
const index = books.findIndex(book => book.id === id);
if (index !== -1) {
books[index] = { ...books[index], ...updatedBooks }
res.json(books[index])
}
else {
res.status(404).json({error: "book not found"})
}
})
حذف
app.delete('/books/:id', (req, res) => {
const id = parseInt(req.params.id);
const index = books.findIndex((book) => book.id === id);
if (index !== -1) {
const deletedBook = books[index];
books.slice(index, 1);
res.json(deletedBook);
} else {
res.status(404).json({ error: "book not found" });
}
})
بندر
app.listen(3000, () => {
console.log('server is running on port 3000')
})
اما این روش خوبی برای اجرای عملیات CRUD نیست
راه بهتری وجود دارد
ساختار پوشه
index.js
const express = require('express')
const app = express();
const bookRoutes=require('./routes/bookRoutes')
app.use(express.json());
app.use("https://dev.to/",bookRoutes)
app.listen(3000, () => {
console.log('server is running on port 3000')
})
bookController.js
let books = [
{ id: 1, title: "Book 1", author: "author 1" },
{ id: 2, title: "Book 2", author: "author 2" },
];
//read
const getBooks=(req, res) => {
res.json(books);
}
//create
const createBooks= (req, res) => {
console.log(req.body);
const newBook = req.body;
newBook.id = books.length + 1;
books.push(newBook);
res.status(201).json(newBook);
}
//update /put
const updateBooks= (req, res) => {
const id = parseInt(req.params.id);
const updatedBooks = req.body;
const index = books.findIndex((book) => book.id === id);
if (index !== -1) {
books[index] = { ...books[index], ...updatedBooks };
res.json(books[index]);
} else {
res.status(404).json({ error: "book not found" });
}
}
//delete
const deleteBooks= (req, res) => {
const id = parseInt(req.params.id);
const index = books.findIndex((book) => book.id === id);
if (index !== -1) {
const deletedBook = books[index];
books.slice(index, 1);
res.json(deletedBook);
} else {
res.status(404).json({ error: "book not found" });
}
}
module.exports = {
getBooks,createBooks,updateBooks,deleteBooks
}
bookRoutes.js
const express = require('express')
const bookController = require('../controllers/bookController')
const router = express.Router()
router.get('/books',bookController.getBooks)
router.post('/books',bookController.createBooks)
router.put('/books/:id',bookController.updateBooks)
router.delete('/books/:id', bookController.deleteBooks)
module.exports = router;
در github چک کنید: