代码之家  ›  专栏  ›  技术社区  ›  Marcelo Glasberg

在Typescript中,如何使其在使用require()导入时理解类型?

  •  2
  • Marcelo Glasberg  · 技术社区  · 6 年前

    我在IntelliJ中使用TypeScript。

    const functions = require('firebase-functions');
    

    然后我就这样使用它:

    exports.doSomething = functions.https.onCall((data, context) => {...}
    

    https 什么都可以。这被认为是一种类型 any onCall

    我发现我可以通过将此添加到文件顶部来解决此问题:

    import {onCall} from "firebase-functions/lib/providers/https";
    

    然后像这样使用它:

    exports.doSomething = onCall((data, context) => {...}
    

    但是,这不是一个好的解决方案,因为其他名称空间可能包含 onCall ,我需要区分它们。

    require() ?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Titian Cernicova-Dragomir    6 年前

    你需要使用 import name = require ('path') 语法:

     import functions = require('firebase-functions')
    

    import * as functions 'firebase-functions';
    

    如果使用适当的模块系统,导入将转换为 require