تلاش های یه برنامه نویس برای اجتماعی بودن.
آموزش استفاده از express در deno
![](https://files.virgool.io/upload/users/129729/posts/a2w103k2in1x/ndiqb2uwc5py.png)
سلام . توی این پست خیلی کوتاه میخایم یه سروریس deno برای api بسازیم و توش از express استفاده کنیم.(پیشنهاد میشه اول آموزش نصب deno رو مطالعه کنید).
با توجه به ساختار جدید دنو ما نیازی به پکیج منیجر نداریم و این باعث شده کمی افراد در استفاده از این سرویس جدید دچار سردرگمی بشن. من با توجه به عادتی که در استفاده از express در node.js داشتم خیلی دوست داشتم که بتونم با express توی deno هم وب سرویس بسازم.
برای این کار کافیه از دستور زیر برای import کردن expressiv یا همون express برای deno استفاده کنید:
import * as expressive from "https://raw.githubusercontent.com/NMathar/deno-express/master/mod.ts"
در گام بعدی به شمابه عملکردی که توی express داشتیم میتونیم بریم جلو:
import * as expressive from "https://raw.githubusercontent.com/NMathar/deno-express/master/mod.ts"
const port = 3000;
const app = new expressive.App();
const server = await app.listen(port);
بعد ما فرضا لازم داریم api بسازیم تا اطلاعاتی زمان الان رو نمایش بده:
let req_number= 0;
app.get("/now",async (req,res)=>{
let d= new Date();
await res.json([{
date : [d.getFullYear() ,d.getMonth() ,d.getDate() ].join("/"),
request_number : req_number++
}]);
});
بعد با توجه به کد بالا خروجی زیر رو میده که شامل شماره request و تاریخ الانه :
![](https://files.virgool.io/upload/users/129729/posts/a2w103k2in1x/rshcv8s7eb59.png)
بعد بهتره که برای صفحاتی که وجود ندارند اررور 404 بفرستیم که میتونیم مثل ورژن های قدیمی express از کد زیر استفاده کنیم:
app.use(async (req,res)=>{
res.status= 404;
res.json([{error:404 }]);
});
همون جوری که قابل ملاحظه هست کد ۴۰۴ رو به عنوان header ارسال کرده .
![](https://files.virgool.io/upload/users/129729/posts/a2w103k2in1x/jasf9ekcqa6l.png)
کد کامل :
import * as expressive from "https://raw.githubusercontent.com/NMathar/deno-express/master/mod.ts"
const port = 3000;
const app = new expressive.App();
let req_number= 0;
app.get("/now",async (req,res)=>{
let d= new Date();
await res.json([{
date : [d.getFullYear() ,d.getMonth() ,d.getDate() ].join("/"),
request_number : req_number++
}]);
});
app.use(async (req,res)=>{
res.status= 404;
res.json([{error:404 }]);
});
const server = await app.listen(port);
مطلبی دیگر از این انتشارات
وب پک چیست و چرا باید از آن استفاده کنیم (قسمت دوم)
مطلبی دیگر از این انتشارات
?سی و یکمین دورهمی گنو ? 3️⃣1️⃣
مطلبی دیگر از این انتشارات
از اینجا شروع کنید؛ نقشه راهی برای توسعه دهنده های وب شامل بک اند، فرانت اند و دواپس