مهاجرت به TypeScript Advice – DEV Community

-
برای پروژه های بزرگ، توصیه می شود که یک انتقال تدریجی را اتخاذ کنید که در ابتدا کد TypeScript و JavaScript با هم وجود داشته باشند. فقط پروژه های کوچک را می توان به یکباره به TypeScript منتقل کرد.
-
اولین مرحله این انتقال، معرفی TypeScript به فرآیند زنجیره ساخت است. این را می توان با استفاده از گزینه کامپایلر “allowJs” که اجازه می دهد انجام داد
.ts
و.tsx
فایل هایی که با فایل های جاوا اسکریپت موجود همزیستی کنند. از آنجایی که تایپ اسکریپت زمانی که نمی تواند نوع آن را از فایل های جاوا اسکریپت استنتاج کند، به یک نوع “any” برای متغیر برمی گردد، توصیه می شود در ابتدای انتقال، “noImplicitAny” را در گزینه های کامپایلر خود غیرفعال کنید. -
مرحله دوم این است که اطمینان حاصل کنید که تستهای جاوا اسکریپت شما در کنار فایلهای TypeScript کار میکنند تا بتوانید هنگام تبدیل هر ماژول، آزمایشهایی را اجرا کنید. اگر از Jest استفاده می کنید، از ts- استفاده کنید.
jest
، که به شما امکان می دهد پروژه های TypeScript را با Jest آزمایش کنید. -
مرحله سوم این است که اعلانهای نوع برای کتابخانههای شخص ثالث را در پروژه خود بگنجانید. این اعلانها را میتوان به صورت همراه یا در DefinitelyTyped یافت. می توانید آنها را با استفاده از https://www.typescriptlang.org/dt/search جستجو کرده و با استفاده از آنها نصب کنید
npm install --save-dev @types/package-name or yarn add --dev @types/package-name.
-
مرحله چهارم این است که ماژول به ماژول با رویکرد پایین به بالا، به دنبال نمودار وابستگی که با برگه ها شروع می شود، منتقل کنید. ایده شروع به تبدیل ماژول هایی است که به ماژول های دیگر وابسته نیستند. برای تجسم نمودارهای وابستگی، می توانید از
madge
ابزار -
ماژولهای کاندید خوب برای این تبدیلهای اولیه، توابع کاربردی و کد مربوط به APIهای خارجی یا مشخصات هستند. این امکان وجود دارد که به طور خودکار تعاریف نوع TypeScript را از قراردادهای Swagger، طرحواره های GraphQL یا JSON ایجاد کنید تا در پروژه شما گنجانده شود. همچنین میتوانید از وبسایتی به نام https://quicktype.io/ برای تولید انواع و رابطها برای استفاده از آنها در سایت خود استفاده کنید.
tsx
یاts
فایل.
وقتی مشخصات یا طرحوارههای رسمی در دسترس نیست، میتوانید انواعی را از دادههای خام تولید کنید، مانند JSON که توسط سرور بازگردانده میشود. با این حال، توصیه میشود به جای دادهها، انواع را از مشخصات تولید کنید تا موارد لبه از دست نرود.
در طول مهاجرت، از بازآفرینی کد خودداری کنید و فقط بر روی افزودن انواع به ماژول های خود تمرکز کنید.
- مرحله پنجم فعال کردن است
"noImplicitAny"
که باعث می شود همه انواع شناخته شده و تعریف شده باشند و تجربه TypeScript بهتری برای پروژه شما فراهم کند.
در طول مهاجرت می توانید از @ts-check
دستورالعمل، که بررسی نوع TypeScript را در یک فایل جاوا اسکریپت فعال می کند. این دستورالعمل یک نسخه آزاد از بررسی نوع ارائه می دهد و می تواند در ابتدا برای شناسایی مشکلات موجود در فایل های جاوا اسکریپت استفاده شود. چه زمانی@ts-check
در یک فایل گنجانده شده است، TypeScript سعی می کند با استفاده از نظرات به سبک JSDoc تعاریف را استنباط کند. با این حال، استفاده از حاشیه نویسی JSDoc را فقط در مراحل اولیه مهاجرت در نظر بگیرید.
مقدار پیش فرض را در نظر بگیرید noEmitOnError
در شما tsconfig.json
به عنوان نادرست این به شما امکان می دهد تا کد منبع جاوا اسکریپت را حتی در صورت گزارش خطا، خروجی بگیرید.
منبع
ارتباط دادن