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