sizning loyihangizdagi har qanday .ts yoki .d.ts faylida foydalanish mumkin bo'lgan global o'zgaruvchi haqida avval uni aniq import qilmasdan TypeScript ga xabar berish usulidir .
Aytaylik, siz brauzeringizda NodeJS dasturini ishga tushiryapsiz va dastur bir nuqtada process.env.NODE_ENV (bu “ishlab chiqish” yoki “ishlab chiqarish” ) ni tekshiradi. Dasturni ishga tushirganingizda, siz yomon ish vaqti xatosini olasiz:
Tugallanmagan ReferenceError: jarayon aniqlanmagan.
Siz Stack Overflow atrofida biroz o'ylab ko'rasiz va dasturingizni ishga tushirishning eng tezkor usuli polyfill process.env.NODE_ENV ni o'zingiz va qattiq kodlash ekanligini tushunasiz. Shunday qilib, siz yangi polyfills.ts faylini yaratasiz va global process.env ni aniqlaysiz :
jarayon = { env : {
NODE_ENV : "ishlab chiqarish"
}
}
oynani global kengaytirish orqali sizni aniq qilib qo'ygan xatodan qutqarishga harakat qiladi :
TS2304 xatosi: "jarayon" nomini topib bo'lmadi.
Ammo bu holda, TypeScript haddan tashqari himoyalangan. Siz haqiqatan ham oynani kengaytirishni xohlaysiz va buni xavfsiz bajarishni xohlaysiz.
Xo'sh, nima qilasiz? Siz Vim-da polyfills.ts-ni ochasiz (qaerga ketayotganini ko'rasiz) va yozing:
e'lon qilish ruxsat bering jarayon : {
env : {
NODE_ENV : "rivojlanish" | "ishlab chiqarish"
}
}
jarayon = { env : {
NODE_ENV : "ishlab chiqarish"
}
}
NODE_ENV xususiyatiga ega bo'lgan yagona env xususiyatiga ega global obyekt jarayoni mavjudligini e'lon qilyapsiz . Bu haqda TypeScript-ga aytganingizdan so'ng, qizil chiziq yo'qoladi va siz global jarayonni xavfsiz tarzda belgilashingiz mumkin .
T SC sozlamalari: lib
Array va Promise kabi o‘rnatilgan JavaScript turlarini hamda ''.toUpperCase kabi o‘rnatilgan turdagi usullarni o‘z ichiga oladi . U shuningdek, oyna va hujjat (brauzer muhitida) va onmessage (Web Worker muhitida) kabi global ob'ektlarni o'z ichiga oladi .
tsconfig.json lib maydonidan foydalanib TypeScript-ning o'rnatilgan turdagi deklaratsiyalarini olishingiz mumkin . Loyihangizning lib sozlamasini qanday terish haqida chuqur o'rganish uchun 254-sahifadagi "lib" ga o'ting .
Do'stlaringiz bilan baham: |