首页 > 解决方案 > 如何在 TypeScript 中导出接口/对象的属性,例如 Javascript

问题描述

众所周知,commonJS 模块exports通常是一个 JS 对象。我们可以很容易地访问特定的方法,比如const { methodA } = require('module').

我们如何实现.d.ts(类型声明文件),让打字稿用户享受类似的导入体验?我们希望这样做:

// JavaScript
const sdk = require('module')
sdk.methodA(params)
// Or
const { methodA } = require('module')
methodA(params)

// Typescript also can be:
import sdk from 'module'
sdk.methodA(params)
// Or
import { methodA } from 'module'
methodA(params)

那是我目前的 impl:

export * from './interface' // a .d.ts file that includes all interface, is it necessnary exported to users?
interface Instance {
  methodA: (params: anthorInterface) => Promise<ResponseInterface>
}
declare const sdk: Instance
export default sdk

但是语法import { methodA } from 'method'不起作用,默认行为可以正常工作。

你能给我一些建议吗?十分感谢。

标签: javascripttypescript

解决方案


推荐阅读