آموزش استفاده از express در deno



سلام . توی این پست خیلی کوتاه میخایم یه سروریس deno برای api بسازیم و توش از express استفاده کنیم.(پیشنهاد میشه اول آموزش نصب deno رو مطالعه کنید).

با توجه به ساختار جدید دنو ما نیازی به پکیج منیجر نداریم و این باعث شده کمی افراد در استفاده از این سرویس جدید دچار سردرگمی بشن. من با توجه به عادتی که در استفاده از express در node.js داشتم خیلی دوست داشتم که بتونم با express توی deno هم وب سرویس بسازم.

برای این کار کافیه از دستور زیر برای import کردن expressiv یا همون express برای deno استفاده کنید:

import * as expressive from &quothttps://raw.githubusercontent.com/NMathar/deno-express/master/mod.ts&quot

در گام بعدی به شمابه عملکردی که توی express داشتیم میتونیم بریم جلو:

import * as expressive from &quothttps://raw.githubusercontent.com/NMathar/deno-express/master/mod.ts&quot
const port = 3000;
const app = new expressive.App();
const server = await app.listen(port);

بعد ما فرضا لازم داریم api بسازیم تا اطلاعاتی زمان الان رو نمایش بده:

let req_number= 0;
app.get(&quot/now&quot,async (req,res)=>{
let d= new Date();
await res.json([{
date : [d.getFullYear() ,d.getMonth() ,d.getDate() ].join(&quot/&quot),
request_number : req_number++
}]);
});

بعد با توجه به کد بالا خروجی زیر رو میده که شامل شماره request و تاریخ الانه :

بعد بهتره که برای صفحاتی که وجود ندارند اررور 404 بفرستیم که میتونیم مثل ورژن های قدیمی express از کد زیر استفاده کنیم:

app.use(async (req,res)=>{
res.status= 404;
res.json([{error:404 }]);
});

همون جوری که قابل ملاحظه هست کد ۴۰۴ رو به عنوان header ارسال کرده .

کد کامل :

import * as expressive from &quothttps://raw.githubusercontent.com/NMathar/deno-express/master/mod.ts&quot
const port = 3000;
const app = new expressive.App();
let req_number= 0;
app.get(&quot/now&quot,async (req,res)=>{
let d= new Date();
await res.json([{
date : [d.getFullYear() ,d.getMonth() ,d.getDate() ].join(&quot/&quot),
request_number : req_number++
}]);
});
app.use(async (req,res)=>{
res.status= 404;
res.json([{error:404 }]);
});
const server = await app.listen(port);