使用类型定义在TypeScript中导入节点模块

时间:2017-03-16 18:08:43

标签: typescript typescript-typings

我目前在网上看到的答案似乎已经过时了。

我安装了node_modules/leaflet-drawnode_modules/@types/leaflet-draw

此行有效:

import * as L from 'leaflet';

然而,这一行没有:

import * as foo from 'leaflet-draw';

我收到此错误:

/node_modules/@types/leaflet-draw/index.d.ts' is not a module.

为了增加混淆,这条线有效:

var leafletDraw = require('leaflet-draw');

任何人都可以帮我理解这个吗?

1 个答案:

答案 0 :(得分:1)

查看@types/leaflet-draw@types/leaflet的来源,看来@ types / leaflet是实际模块声明发生的地方:

declare module 'leaflet' {
    export = L;
}

在@ types / leaflet-draw中,名称空间L只是被扩展(因此将其所有成员添加到原始leaflet模块中。)