如何在TypeScript中使用本地types打印纯JS文件

我有一个简单的JS模块(vendored),可以导出一个函数:

./vendor/my-lib.js

 export function doStuff(mandatoryArgumentX, optionalArgumentY) { } 

我也有types – 在./vendor/my-lib-typings.d.ts

 export function doStuff(mandatoryArgumentX: number, optionalArgumentY?: string) 

现在,我有一个TypeScript模块,想要使用它:

 import {doStuff} from '../vendor/my-lib'; doStuff(44); 

如何让我的TypeScript模块在处理此导入时使用键入? 全局模块(使用import 'my-lib' )很容易,因为我可以在types中放入相同的模块名称。 不过这里并不是这样,因为path确实是dynamic的。

有什么我可以把任何这三个文件,将解决这个难题(除了重写JS到TS)?

如果你在.d.ts文件和.js文件之间有相同的名字,那么它应该可以工作,所以只需要重命名.d.ts文件就可以了。