首页 > 解决方案 > Typescript 努力在 .d.ts 文件中创建类型声明

问题描述

我曾经在同一个文件中拥有一个文件的所有对应类型。

像这样开始

type typeA = {foo: number}
...myCode

但为了使其更清晰,我决定将声明移至 .d.ts 文件

结果如下

file.tsx
file.d.ts

我像这样将所有类型移至 file.d.ts

export declare const DataConverted : {
    low: number,
    high: number,
    open: number,
    close: number,
    openTime: number,
    volume: number
  }
  

  export declare const ChartRefPoints : {
   highestVal? : number,
   lowestVal?: number,
   maxTime? : number,
   minTime? : number,
   maxVolume? : number,
   minVolume? : number
  }

但我无法将它们导入 file.tsx

import {DataConverted, ChartRefPoints} from "file" //cannot find module file or its corresponding file declarations

我应该如何使用这个功能?

标签: reactjstypescript

解决方案


.d.tsfiles 用于声明未键入的 JavaScript 文件/文件,不适用于 .tsx 文件。

但为了使其更清晰,我决定将声明移至 .d.ts 文件

最好让类型靠近它们的代码,这样在更改代码时就不必在不同的文件之间切换。

但是,如果您真的想将类型放在单独的文件中,请创建一个新的.tsx.ts具有任何名称的文件,而不是.d.ts文件。

另外,export declare const没有定义类型。它告诉 typescript 你有一个特定类型的变量。如果要定义类型,请执行export type DataConverted =


推荐阅读