我试图为第三方包(乳胶)编写一个声明文件。该包导出一个全局函数latex()。我尝试使用以下声明文件(src/@types/latex/index.d.ts):
declare module 'latex' {
import { Stream } from "stream";
export function latex(latex: string | string[] | Buffer | Stream): Stream
}现在,我试图导入像这样的import * as latex from 'latex',但是编译器强迫我调用latex.latex(),而不是只调用latex()。
我怎么才能解决这个问题?
谢谢。
发布于 2018-04-27 14:33:48
export default function latex()这是ES6模块语法。但是,latex模块的原始代码使用了commonjs模块语法。因此,声明文件应该是
export = function latex()在TypeScript中也应该使用公共方式进行导入。
import latex = require('latex')发布于 2018-04-27 13:44:00
如果函数是默认导出,则可以在定义文件中添加默认关键字:
export default function latex(...然后您可以导入它并像这样使用它:
import latex from 'latex';
latex(args);https://stackoverflow.com/questions/50063544
复制相似问题