我在运行时加载JSON配置文件,并使用接口定义其预期 struct :

interface EngineConfig {
    pathplanner?: PathPlannerConfig;
    debug?: DebugConfig;
    ...
}

interface PathPlannerConfig {
    nbMaxIter?: number;
    nbIterPerChunk?: number;
    heuristic?: string;
}

interface DebugConfig {
    logLevel?: number;
}

...

这使得访问各种属性变得很方便,因为我可以使用自动补全等功能.

问题:is there a way to use this declaration to check the correctness of the file I load? ie that I do not have unexpected properties?

推荐答案

目前,类型仅在开发和编译时使用.

正如@JasonEvans所指出的,从https://stackoverflow.com/a/16016688/318557开始

自2015年6月以来,TypeScript回购协议中有一个公开问题:https://github.com/microsoft/TypeScript/issues/3628

Typescript相关问答推荐

交叉点对数字和布尔的处理方式不同

React router 6.22.3不只是在生产模式下显示,为什么?

我们过go 不能从TypeScript中的联合中同时访问所有属性?

泛型和数组:为什么我最终使用了`泛型T []`而不是`泛型T []`?<><>

webpack错误:模块找不到.当使用我的其他库时,

打印脚本丢失函数的泛型上下文

在TypeScrip中分配回调时,参数的分配方向与回调本身相反.为什么会这样呢?

有没有办法解决这个问题,类型和IntrinsicAttributes类型没有相同的属性?

ANGLE找不到辅助‘路由出口’的路由路径

打印脚本中的动态函数重载

使用2个泛型类型参数透明地处理函数中的联合类型

在对象中将缺省值设置为空值

Select 下拉菜单的占位符不起作用

类型脚本可以推断哪个类型作为参数传递到联合类型中吗?

TypeScrip中的类型安全包装类

无法将从服务器接收的JSON对象转换为所需的类型,因此可以分析数据

界面中数组中的混合类型导致打字错误

仅当定义了值时才按值筛选数组

如何知道使用TypeScript时是否在临时工作流内运行

使用 fp-ts 时如何使用 TypeScript 序列化任务执行?