在node_module文件夹下写一个打字稿.d.ts类型定义

时间:2019-04-01 08:11:43

标签: typescript .d.ts

我需要为外部(npm)库编写一个.d.ts文件。我正在使用打字稿3。

我需要的进口商品是:

import fakedb from 'fake-indexeddb'; //sorted
// second import I would like:
import dbKeyRange from 'fake-indexeddb/lib/FDBKeyRange'

来自types / fake-indexeddb.d.ts:

export = index;
declare const index: IDBFactory;

如何为我希望从库中的第二次导入编写文件(fake-indexeddb/lib/FDBKeyRange-IDBKeyRange)?

修改 从逻辑上讲,Juraj Kocan的答案是我必须在.d.ts文件中输入的内容,但问题是我必须给该文件起什么名字,以便调试器和编译器在我写import dbKeyRange from 'fake-indexeddb/lib/FDBKeyRange'时找到该文件-它很明显,它是如何找到 types / fake-indexeddb.d.ts 文件的。

2 个答案:

答案 0 :(得分:0)

在声明中添加全名

declare module 'fake-indexeddb/lib/FDBKeyRange' {
  class dbKeyRange {}
  export default dbKeyRange
}

编辑

有一些声明规则。 在tsconfig中添加类型根目录

 "typeRoots": [
  "./node_modules/@types",
  "./whateveryouwant/types"
],

或其他路径都没有关系。只是必须在ts config中定义 然后添加带有模块名称的文件夹。 在此文件夹中添加index.d.ts

--src
  --types
    --fake-indexeddb
      --index.d.ts

答案 1 :(得分:0)

我最终将文件夹路径映射到我的类型目录下,并且可以正常工作。定义文件的最终路径是:

types/fake-indexeddb/lib/FDBKeyRange.d.ts

包含该文件中的定义。

相关问题