Javascript 如何在TypeScript中为普通JS文件使用本地键入

Javascript 如何在TypeScript中为普通JS文件使用本地键入,javascript,node.js,typescript,Javascript,Node.js,Typescript,我有一个简单的JS模块(供应商提供),可以导出一个函数: 在/vendor/my lib.js中: export function doStuff(mandatoryArgumentX, optionalArgumentY) { } 我也在/vendor/my lib typings.d.ts中为它打了字 export function doStuff(mandatoryArgumentX: number, optionalArgumentY?: string) 现在,我有一个想要使用它的T

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

/vendor/my lib.js
中:

export function doStuff(mandatoryArgumentX, optionalArgumentY) {
}
我也在
/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'
导入)很容易,因为我可以在打字中输入相同的模块名称。但这里的情况并非如此,因为路径是动态的


除了将JS重写为TS之外,我是否可以在这3个文件中添加任何东西来解决这个难题?

如果.d.TS文件和.JS文件的名称相同,它应该可以工作-因此只需重命名.d.TS文件,就可以了。

在这种情况下,只处理d.TS文件。tsc编译,但生成输出不包括.js。您是否使用带有
--out
的新类型脚本1.8
--allowJs
开关?如果没有,TypeScript将不会发出或复制JS文件,因此您必须将JS文件作为单独的步骤复制到输出位置。我确实使用了
--allowJs
,但没有使用
--out
(现在不推荐使用
--outFile
,但无论如何我都不使用)。根据docs
——outFile
是关于连接和单文件输出的,我想知道它是否能为我打破任何东西。好的,也许这是应该添加到TS的一个功能。我认为现在最好的办法是在构建步骤中复制JS文件。