reactjs - 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
我应该如何使用这个功能?
解决方案
.d.ts
files 用于声明未键入的 JavaScript 文件/文件,不适用于 .tsx 文件。
但为了使其更清晰,我决定将声明移至 .d.ts 文件
最好让类型靠近它们的代码,这样在更改代码时就不必在不同的文件之间切换。
但是,如果您真的想将类型放在单独的文件中,请创建一个新的.tsx
或.ts
具有任何名称的文件,而不是.d.ts
文件。
另外,export declare const
没有定义类型。它告诉 typescript 你有一个特定类型的变量。如果要定义类型,请执行export type DataConverted =
推荐阅读
- excel - 如何使用当前行中的单元格作为参考在多行中重复 VBA 代码
- asciidoctor - 如何处理 asciidoctor 中标题的元数据?
- c# - 删除轨迹渲染器中的点
- css - 如何使用 Angular 8 更改 Bulma.io 变量的值
- ssl - 路径在 Kubernetes NGINX 入口控制器中不起作用
- lazarus - 单击 Lazarus 中的按钮编辑文件
- c - 如何打印字符 *
- azure - 我的域的 DNS 记录没有通过 dns-01 挑战在 azure-dns 上传播
- javascript - 如何在Angular组件中使用`this`重新分配对象?
- flask - Flask 应用程序上下文错误未通过“with”子句解决