我已经花了好几个小时尝试加载nodejs库,在@types存储库中有一个(我认为是错误的)类型定义。
我说的是geolib及其@types/geolib
是的,我知道,这个库在master上有类型,但是还没有标记的版本,我想在以后的案例中解决这个问题。
安装geolib
(2.0.22)npm install geolib --save
import * as geolib from 'geolib';
一切都很棒!但在你最喜欢的编辑器中没有类型解析
安装@types/geolib
npm install @types/geolib --save-dev
这里是它断裂的地方:node_modules/@types/geolib/index.d.ts' is not a module. (2306)
这是因为types文件不export = geolib
,但尝试将此文件作为模块加载。
我的目标是简单地加载节点库,并使用@types/geolib
作为开发的类型提示。
我尝试过多个选项,例如使用新的types
指令,通过在tsconfig中设置types: []
来防止自动加载,只使用import 'geolib'
导入,但似乎没有什么可以解决定义位于@types
中并作为模块进行尝试的问题。
编辑[email protected]
[email protected]
@types/[email protected]
最佳答案
也有同样的问题
对我有用的是:
import * as GeoLib from 'geolib';
稍后,例如:
import * as GeoLib from 'geolib';
import PositionAsDecimal = GeoLib.PositionAsDecimal;
distance += GeoLib.getDistance(pointAPositionAsDecimal, pointBPositionAsDecimal, accuracyInMeters, precision);
关于node.js - TypeScript:阻止加载不导出的@types定义(TS2306不是模块),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44669006/