دوستی Node.js با TypeScript !

شکیلا زحمتکش
1404/01/21

Node.js و TypeScript دو فناوری محبوب و قدرتمند در دنیای توسعه وب هستن که هر کدوم به شکل منحصربهفرد خود، نیازهای خاصی از برنامهنویسان رو برآورده میکنن.
Node.js یه محیط اجرایی متنباز و چندپلتفرمی برای اجرای کدهای جاوا اسکریپت در سمت سروره. این فناوری به توسعهدهندگان این امکانو میده که از زبان جاوا اسکریپت، که اول برای توسعه سمت کاربر طراحی شده بود، در سمت سرور هم استفاده کنن. اگه به یادگیری حرفهای Node.js علاقه دارین و میخوایین به یه برنامهنویس کاربلد تبدیل بشین، روی دوره آموزش Node JS کلیک کنین و همین حالا شروع کنین!
از طرف دیگه، TypeScript یه زبان برنامهنویسی متنبازه که توسط مایکروسافت توسعه داده شده و به عنوان یه توسعه روی جاوا اسکریپت شناخته میشه. TypeScript تمامی قابلیتهای جاوا اسکریپت رو داره، اما با اضافه کردن تایپهای استاتیک و دیگر ویژگیهای پیشرفته، به توسعهدهندگان کمک میکنه تا کدهای پایدارتر و قابلپیشبینیتری بنویسن.
حالا این دو فناوری قدرتمند، یعنی Node.js و TypeScript با یکدیگر همراه شده تا تجربهای بهتر و کارآمدتر رو برای توسعهدهندگان فراهم کنن. در ادامه این بلاگ، به بررسی جزئیات و محدودیت های این پشتیبانی آزمایشی میپردازیم.
پشتیبانی آزمایشی از TypeScript
Node.js در حال ارائه پشتیبانی اولیه از TypeScript است، اما این پشتیبانی در حال حاضر محدود و آزمایشیه . این ویژگی جدید که با استفاده از فلگ "--experimental-strip-types" فعال میشه، به شما اجازه میده بدون اینکه نیاز به تبدیل کامل TypeScript به جاوا اسکریپت داشته باشین، فایلهای ts رو اجرا کنین.
تو برنامه نویسی فرآیندی هست به نام "نوع نویسی" تو این فرآیند، نوع داده های یه متغیر، پارامتر یا خروجی یه تابع به طور واضح مشخص میشه. تو زبانهایی مثل TypeScript که یه ابرمجموعه از جاوا اسکریپته، نوعنویسی به شما این امکانو میده که تعیین کنین چه نوع دادهای (مثل string، number، boolean و غیره) باید به متغیرها یا توابع نسبت داده بشه. حالا با این پشتیبانی Node.js از TypeScript، بخشهایی از TypeScript که مربوط به نوعنویسی هست، حذف میشه تا کد قابل اجرا بشه.
محدودیت ها
- این ویژگی فقط نوعنویسیهای ساده و درونخطی (inline) رو پشتیبانی میکنه. قابلیتهای پیشرفتهتر TypeScript مثل enum ها (مجموعههای شمارشی) و namespace ها توسط این ویژگی پشتیبانی نمیشن.
- در دستورات import و require، باید پسوند فایلها به صورت کامل مشخص بشه، یعنی باید دقیقاً بگین که فایل مورد نظر یک .ts است.
- شما باید از کلمه کلیدی type برای وارد کردن نوعها استفاده کنین، در غیر این صورت ممکنه در زمان اجرا به مشکلاتی برخورد کنین.
- این ویژگی به طور پیشفرض برای فایلهای TypeScript که تو پوشه node_modules هستن غیرفعاله، یعنی اگر کتابخانه های TypeScript دارین که از این پوشه فراخوانی میشن، این ویژگی روی اونها اعمال نخواهد شد.
پشتیبانی آزمایشی از بازرسی شبکه
بازرسی شبکه یکی از ویژگیهای جدید Node.js است که توسعهدهندگان میتونن فعالیت های شبکه ای که تو برنامه های جاوا اسکریپتی در حال اجرا هستن رو مانیتور کنن. این ویژگی هم در حال حاضر تو حالت آزمایشیه و باید با فلگ"--experimental-network-inspection " فعال بشه.
چند نکته مهم ...!
- این ویژگی فقط با ماژولهای http و https کار میکنه، یعنی میتونین درخواستها و پاسخهای HTTP رو بازرسی کنین، اما سایر پروتکلها یا فعالیتهای شبکهای دیگه پشتیبانی نمیشن.
- در حال حاضر، تب شبکه در Chrome DevTools (ابزار توسعهدهنده کروم) هنوز به طور کامل این ویژگی رو پشتیبانی نمیکنه. این به این معنیه که تا زمانی که درخواست ویژگی در سمت DevTools کروم پیادهسازی نشه، نمیتونین از این قابلیت در DevTools به طور کامل استفاده کنین.
به طور کلی، این ویژگیها هنوز تو مراحل اولیه توسعه هستن و در نسخههای آینده Node.js بهتر میشن. هدف اصلی این ویژگیها تسهیل فرآیند توسعه و رفع اشکال برای برنامهنویسانه تا بتونن کدهای TypeScript رو بدون نیاز به کامپایلرهای جداگانه اجرا کرده و فعالیتهای شبکهای رو در لحظه مانیتور کنن.
راستی این بلاگ با استفاده از اطلاعات منتشر شده تو آخرین بلاگ رسمی Node.js نوشته شده برای مطالعه نسخه اصلی، میتونین به بلاگ رسمی Node.js . مراجعه کنین
یادگیری برنامه نویسی ، یکبار برای همیشه
آموزشگاه برنامه نویسی تحلیل داده برگزار کننده انواع دوره آموزش برنامه نویسی اعم از آموزش پایتون ، آموزش طراحی سایت و ... ، با بهره گیری از اساتید مجرب و منابع آموزشی بهروز، شما را در مسیری هموار به سوی موفقیت هدایت میکند.
برای دریافت مشاوره و اطلاع از دوره ها با ما در ارتباط باشید !
