دوره آموزشی ExpressJS

اگر به عنوان برنامه نویس بک اند فعالیت می‌کنید، شاید اسم ExpressJS رو شنیده باشید. اکسپرس جی اس ابزاری است که در محیط NodeJS به شما این امکان رو می‌ده تا درخواست هایی رو که از سمت کلاینت ها ارسال می‌شه رو مدیریت کنید.آموزش ExpressJSمثلا شما با یک سرور تحت وب میتونید، از راه دور دستوراتی رو به برنامتون ارسال کنید.تازه اونم با مرورگر قابل انجام هست و نیاز به نصب نرم افزار دیگه ای نیست.یا میتونید با راه اندازی اینترنت اشیاء از طریق این سرور، کنترل اشیاء رو با استفاده از اینترنت در اختیار بگیرید.خلاصه برای هرجایی که نیاز به اتصالات کلاینت / سروری هست،استفاده از این فریم ورک می‌تونه کار راه انداز باشه.مثلا یکبار بچه های رشته برق از من خواسته بودن تا سروری راه اندازی کنم که گوش به فرمان چند تا URL خاص باشه، که براشون با سرعت بالایی این کارو انجام دادم :)تجربه ی شخصی من در این محیط به شدت خوب و مثبت هستش و در اینجا مایلم چند تا از مزیت های اکسپرس جی اس رو خدمتتون توضیح بدم.ویژگی های اکسپرسنصب سادهنصب اکسپرس جی اس به قدری ساده است که توی چند خط می‌تونم بهتون توضیح بدم. ابتدا باید NodeJS رو دانلود کنید و نصب کنید که یک فایل کم حجمی هم هست اتفاقا...سپس با کامند زیر داخل کامند پرامپت، می‌تونید اون رو نصب کنید.npm i --save expressبرای اینکه اکسپرس یا هر ماژول دیگه ای رو به صورت Global نصب کنید میتونید از سوئیچ g- استفاده کنید.npm i --save express -gدر نهایت یک فایل به نام app.js بسازید، و داخلش این موارد رو بنویسید.const express = require('express') const app = express() app.get('/', function (req, res) { res.send('Hello World') }) app.listen(3000);سرور شما راه اندازی شد. خیلی شیک و مجلسیمستندات خوباکسپرس جی اس، یک سایت رسمی را به مستندات خود اختصاص داده است.مراجعه به این سایت، می‌تواند بسیاری از مشکلات شما را حل کند.مستندات ExpressJS پس از اینکه وارد سایت شدید، با مراجعه به منوی سراسری افقی بالا و انتخاب گزینه Resources می‌توان اطلاعات مفیدی را در خصوص این فریم ورک کسب نمود.راحتی زیاداکسپرس جی اس سینتکس بسیار راحتی داره و در همون ابتدای کار، با یه مقدار دقت، می‌تونیم بفهمیم داستان از چه قرار هست.برای نمونه مثال زیر، رو در نظر بگیرید.var express = require('express'); const app = express(); app.get('/myurl', function(req, res) { });در قطعه کد بالا، مشاهده می‌کنید که ما دستوری تعریف کردیم تا درخواست هایی از نوع get که از سمت کاربر به آدرس myurl ارسال میشه رو، در سمت سرور دریافت کنیم.روت های پویاهمانطور که در قطعه کد بالا مشاهده کردید، ما به یک آدرس ثابت (myurl) درخواستی را ارسال کردیم.اما اکسپرس جی اس، ویژگی ای به نام روت های پویا دارد که در آن از REGEX می‌توان بهره برد و مثلا مشخص کرد که هر آدرسی که شامل یک قانون خاص بود را شامل شود.router.get(/^\/commits\/(\w+)(?:\.\.(\w+))?$/, (req, res) => { const from = req.params[0] const to = req.params[1] || 'HEAD' res.send(`commit range ${from}..${to}`) })مثلا قانونی که در قطعه کد بالا تعریف شده است، هم به درخواست/commits/71dbb9c و هم به درخواست/commits/71dbb9c..4c084f9 پاسخ می‌دهد.پشتیبانی از Template Engineداخل وب سایت expressjs، لیست بسیاری از موتورهای پردازش قالب را آورده است که هرکدام سینتکس خاص خودشان را دارند و گزینه های متنوعی را در اختیار شما قرار می‌دهند.یست موتورهای پردازش قالبالبته من خودم تمایل به استفاده از هیچکدام از انجین های بالا ندارم. بیشتر ترجیح می‌دهم کدهای فرانت اند را با VueJS بنویسم.اینطوری هم امکانات فوق العاده ای را درهنگام کدنویسی در اختیار دارم، هم کد نهایی تولید شده، بسیار تمیز نوشته می‌شود.به این دلیل که کدهای فرانت و بک هرکدام در یک پروژه ی جداگانه نوشته شده و همه چیز درهم برهم نیست. به شما هم توصیه می‌کنم که تا جایی که می‌تونید برای پروژه هاتون از React یا Vue استفاده کنید.پشتیبانی از JSONبعد از اینکه پردازش ما در سمت سرور انجام شد، میتونیم با دستور زیر خیلی راحت پاسخ خودمون رو به شکل JSON در بیاریم و اون رو به کلاینت تحویل بدیم.مثل قطعه کد زیر:var express = require('express'); const app = express(); app.get('/myurl', function(req, res) { return res.json({title:&quotSuccessfully processed&quot}); });میدل ویرهافرض کنید یک کار تکراری رو برای تمام درخواست های دریافت شده از سمت کلاینت ها، انجام بدید.مثلا شما برای آتنتیکیشن در سایتتون از JWT (جیسون وب توکن) کمک می‌گیرید و بایستی توکن موجود در تمام درخواست ها رو چک کنید تا بفهمید آیا کاربری که در حال ارسال ریکوئست به سمت سرور هست، به سایت شما لاگین کرده است یا خیر؟برای این کار خیلی راحت با استفاده از کد زیر یک میدل ویر می‌نویسید تا تمام روت های شما رو چک بکند .برای نوشتن یک میدل ویر می‌توان از کلمه کلیدی use استفاده کرد.app.use('/middleware',function(req,res,next){ //some code next(); });برنامه های جانبیاز جمله خوبی های اکسپرس جی اس، وجود برنامه های جانبی ای است که برای این ابزار ، نوشته شده است.برای نمونه می‌توان به express-session و express-cors و express-graphql و i18n-express و express-robots-txt اشاره کرد.استفاده شده توسط کمپانی های معروفدر سایت expressjs، برخی از کمپانی هایی که از ExpressJS استفاده می‌کنند را می‌تونانید ملاحظه بفرمایید.مستندات ExpressJS https://virgool.io/p/qadthrv7y7uw/%F0%9F%93%B7%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87%D8%A7%D8%B2ExpressJS%D8%AF%D8%B1%DA%A9%D9%85%D9%BE%D8%A7%D9%86%DB%8C%D9%87%D8%A7%DB%8C%D9%85%D8%B9%D8%B1%D9%88%D9%81 مقالات آموزشیدر این قسمت یکی از بهترین سایت های آموزش برنامه نویسی را برای شما آورده ایم تا با مطالعه ی مقالات موجود در این سایت، بتوانید مهارت خوبی را در استفاده از ExpressJS کسب کنید.اگر مفید بود برای ما هم دعا کنید.ویدیوهای آموزشی فارسیبرای آموزش این فریم ورک جذاب و دوست داشتنی، می‌توانید آموزش فریم ورک اکسپرس جی اس را مشاهده نمایید.لیست سرفصل های دوره ExpressJS را در زیر برای آشنایی بیشتر قرارداده ایم:آشنایی با برنامه نویسی بک اندنصب Express JSانواع درخواست ها در ExpressJSآشنایی با گروه بندی route هامیدل ویر چیست؟آشنایی با فایل های staticآشنایی با روت های پویا در ExpressJSنحوه ارسال پارامترها در درخواست های نوع post و getذخیره اطلاعات در cookieاستفاده از session در مرورگررفع باگ استفاده از کوکی و سشن به طور هم زمان