Programming TypeScript


turi TODO_FROM_JS_TO_TS_MIGRATION = har qanday // MyMigratedUtil.ts eksporti funktsiyasi


Download 1.81 Mb.
bet190/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   186   187   188   189   190   191   192   193   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

turi TODO_FROM_JS_TO_TS_MIGRATION = har qanday
// MyMigratedUtil.ts eksporti funktsiyasi birlashma vidjetlari ( vidjet1 : TODO_FROM_JS_TO_TS_MIGRATION , vidjet2 : TODO_FROM_JS_TO_TS_MIGRATION ) : raqam { //...
}
Buni qilishning ikkala yo'li ham adolatli o'yin va qaysi biri bilan borishni xohlayotganingiz sizga bog'liq.
TypeScript asta-sekin yoziladigan til bo'lganligi sababli, u yozilmagan JavaScript kodi bilan iloji boricha xavfsiz ishlash uchun yaratilgan. Qattiq terilgan TypeScript-ni yozilmagan JavaScript bilan yoki qattiq terilgan TypeScript-ni bo'sh yozilgan TypeScript bilan o'zaro ishlayapsizmi, TypeScript buni iloji boricha xavfsiz bajarayotganingizga ishonch hosil qilish uchun qo'lidan kelganini qiladi. juda ehtiyotkorlik bilan qurilgan, hamma narsa imkon qadar xavfsiz.
4-qadam: Buni qat'iy qiling
JavaScript-ning muhim qismini TypeScript-ga o'tkazganingizdan so'ng, TSC-ning yanada qattiqroq bayroqlarini birma-bir qo'shib, kodingizni iloji boricha xavfsizroq qilishni xohlaysiz (bayroqlarning to'liq ro'yxati uchun F ilovasiga qarang ) .
Nihoyat, siz TSC-ning JavaScript-ning o'zaro ishlashi bayroqlarini o'chirib qo'yishingiz mumkin, bu sizning barcha kodingiz qattiq TypeScript-da yozilganligini ta'minlaydi:
{
"compilerOptions" : {
"allowJs" : noto'g'ri ,
"checkJs" : noto'g'ri
}
Bu turga bog'liq xatolarning so'nggi bosqichlarini ko'rsatadi. Bularni tuzating, shunda sizda OCaml’ning eng qattiq muhandisi orqangizni silab qo‘yishi mumkin bo‘lgan toza va xavfsiz kod bazasi qoladi (agar siz yaxshi so‘rasangiz).
Ushbu bosqichlarni bajarish siz boshqaradigan JavaScript-ga turlarni qo'shishda sizni uzoqqa olib boradi, lekin NPM-dan o'rnatgan kod kabi siz nazorat qilmaydigan JavaScript haqida nima deyish mumkin? U erga borish uchun avval kichik aylanma yo'lni bosib o'tishimiz kerak ...

JavaScript-ni qidirishni yozing


TypeScript faylidan JavaScript faylini import qilganingizda, TypeScript JavaScript kodingiz uchun turdagi deklaratsiyalarni izlash uchun quyidagi algoritmga amal qiladi (esda tutingki, TypeScript haqida gapirganda “fayl” va “modul” oʻzaro almashtirilishi mumkin):47
.js faylingiz bilan bir xil nomga ega aka-uka .d.ts faylini qidiring . Agar u mavjud bo'lsa, uni .js fayli uchun turdagi deklaratsiya sifatida foydalaning .
Masalan, sizda quyidagi papka tuzilishi bor deylik:
my-app/ ├──src/
│ ├──index.ts
│ └──meros/
│ ├──old-file.js
│ └──old-file.d.ts
index.ts dan eski faylni import qilasiz :
// index.ts
Import './legacy/old-file'
./legacy/old-file uchun turdagi deklaratsiyalar manbai sifatida src/legacy/old-file.d.ts dan foydalanadi .

  1. Aks holda, allowJs va checkJs to'g'ri bo'lsa, .js faylining turlari haqida xulosa chiqaring ( .js faylidagi har qanday JSDoc izohlari bilan ma'lum qilinadi).

  2. Aks holda, butun modulni har qanday modul sifatida ko'rib chiqing .

tugun modullariga o'rnatgan NPM paketini import qilishda TypeScript biroz boshqacha algoritmdan foydalanadi:
1. Modul uchun mahalliy turdagi deklaratsiyani qidiring. Agar mavjud bo'lsa, undan foydalaning.
Masalan, ilovangizning papka tuzilishi quyidagicha ko'rinadi:
mening ilovam/
├──tugun_modullari/
│ └──foo/
├──src/
│ ├──index.ts
│ └──turlari.d.ts
Va type.d.ts quyidagicha ko'rinadi:
// type.d.ts e'lon qiladi modul 'foo' { ruxsat bering bar : {} eksport qilish standart bar }
foo ni import qilsangiz , TypeScript foo uchun turlar manbai sifatida type.d.ts dagi muhit moduli deklaratsiyasidan foydalanadi :
// index.ts import bar dan 'fu'

  1. Aks holda, modulning package.json ga qarang . Agar u type yoki typings deb nomlangan maydonni aniqlasa , modul uchun turdagi deklaratsiyalar manbai sifatida maydon ko'rsatadigan .d.ts faylidan foydalaning.

  2. modul uchun turdagi deklaratsiyalari bo'lgan tugun modullari/@types katalogini qidiring . Masalan, siz Reactni o'rnatdingiz deylik:

npm install react --save npm install @types/react --save-dev my-app/
├──tugun_modullari/
│ ├──@turlari/
│ │ └──reaksiya/
│ └──reaksiya qilish/
├──src/
│ └──index.ts
@types/react jildini topadi va undan React uchun turdagi deklaratsiyalar manbai sifatida foydalanadi:
// index.ts

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   186   187   188   189   190   191   192   193   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling