首页 > 解决方案 > 如何将 TypeScript 定义文件用于另一个函数

问题描述

我是 TS 的新手,想使用我创建的定义文件来告诉单独的函数它的参数类型。

函数.ts

export default ({}) => {
  const myFunction = ({ param1 }: { param1: string }) => {
    return param1;
  };

  return {
    myFunction
  };
};

函数.d.ts

declare var _default: ({}: {}) => {
    myFunction: ({ param1 }: {
        param1: string;
    }) => string;
};
export default _default;

其他文件.ts

export default ({ functions }) => {
  functions().myFunction({ param1: 1 });
};

参数来自上面的functionsfunctions.ts,但是someotherfile.ts当然不知道是什么结构functions

我怎样才能在这里使用functions.d.ts?我什至需要使用它吗?

标签: javascripttypescript

解决方案


我认为这将解决您的问题,如果您只需要它,只需创建一个新类型。

// functionsType.ts
export type functions = ({}: {}) => {
  myFunction: ({ param1 }: {
      param1: string;
  }) => string;
};

并像这样使用它

//someotherfile.ts
import { functions } from './functionsType';

export default (functions: functions) => {
  functions({}).myFunction({ param1: 1 });
};

这是stackBlitz示例,您可以在其中看到有关错误参数类型的错误


推荐阅读