我找不到已安装的 NodeJS 包中的 TypeScript 定义@type/{name}
,因此我尝试为其编写一个d.ts
文件,并将该文件放在{project root}\typings
文件夹中。我的具体做法如下:
// My source code: index.ts
import Helper from 'node-helper-lib';
// My definition: \typings\node-helper-lib.d.ts
declare....(something else)
declare module 'node-helper-lib' {
class Helper { ... }
export = Helper;
}
但是,Visual Studio Code一直出现这个错误,并在declare module 'node-helper-lib'
下方放置红线:
[ts] 在增量中无效的模块名称。模块“node-helper-lib”解析为未经分类的模块,位于“{project path}\node_modules\node-helper-lib\index.js”,无法进行增强。
难道不应该合法吗?因为库是没有类型的,所以我应该被允许添加类型到它里面吗?
更新:
我正在使用:
- TypeScript:2.1.4
- Visual Studio Code:1.9.1
- Node JS:6.9.4
- Windows 10 x64
somemodulehere
,因为它没有声明。无法创建一个声明来扩充它,因为它是一个“未类型化的模块”。上面的例子会抛出两个错误:第一个是你不能扩充node-helper-lib
,第二个是找不到要导入的声明文件。 - Douglas Gaskell