Typescript'te, require() kullanarak ithalat yaptığımda türleri nasıl anlayabilmesini sağlayabilirim?
IntelliJ'de TypeScript kullanıyorum.
Diyelim ki bunun var:
const functions = require('firebase-functions');
Sonra bunu şöyle kullanırım:
exports.doSomething = functions.https.onCall((data, context) => {...}
Ancak, aslında https öğesini herhangi bir şeye bağlamıyor. any türünde olarak kabul ediliyor. Sonra onCall türünü de bilmiyor.
Bunun dosyanın en üstüne bunu ekleyerek düzeltilebileceğini öğrendim:
import {onCall} from "firebase-functions/lib/providers/https";
Ve sonra bunu şöyle kullanın:
exports.doSomething = onCall((data, context) => {...}
Ancak bu iyi bir çözüm değil, çünkü diğer ad alanları onCall içerebilir ve bunları birbirinden ayırmam gerekiyor.
Yani, sorum şu: require() kullanarak bir şeyler ithal ettiğimde tipleri nasıl anlayabilmesini sağlayabilirim?
Cevap #1
import name=require('path') sözdizimini kullanmanız gerekiyor :
import functions = require('firebase-functions')
Ayrıca deneyebilirsiniz
import * as functions 'firebase-functions';
Uygun modül sistemini kullanırsanız, import require'e dönüştürülecektir
