写一个 typescript .d.ts type definition down node_module folder
write a typescript .d.ts type definition down node_module folder
我需要为外部 (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 文件的。
在声明中添加全名
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
我最终将文件夹路径映射到我的类型目录下,并且成功了。定义文件的最终路径是:
types/fake-indexeddb/lib/FDBKeyRange.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 文件的。
在声明中添加全名
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
我最终将文件夹路径映射到我的类型目录下,并且成功了。定义文件的最终路径是:
types/fake-indexeddb/lib/FDBKeyRange.d.ts
使用该文件中的定义。