Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改TypeScript中导入的JSON的类型_Json_Typescript_Import - Fatal编程技术网

更改TypeScript中导入的JSON的类型

更改TypeScript中导入的JSON的类型,json,typescript,import,Json,Typescript,Import,在启用了resolveJsonModule选项的TypeScript项目中导入JSON文件时,TypeScript编译器能够自动推断导入的JSON文件的类型。但是,这种类型太具体了,我想用一种更通用的类型来代替它。我试图通过编写自定义类型定义文件来实现这一点: //文件modules.d.ts 声明模块“*.json”{ 常数值:记录; 导出默认值; } 但是TypeScript编译器忽略了这个定义 对我来说唯一有效的方法是使用临时变量,如下所示: 从“/DATA.JSON”导入数据; con

在启用了
resolveJsonModule
选项的TypeScript项目中导入JSON文件时,TypeScript编译器能够自动推断导入的JSON文件的类型。但是,这种类型太具体了,我想用一种更通用的类型来代替它。我试图通过编写自定义类型定义文件来实现这一点:

//文件modules.d.ts
声明模块“*.json”{
常数值:记录;
导出默认值;
}
但是TypeScript编译器忽略了这个定义

对我来说唯一有效的方法是使用临时变量,如下所示:

从“/DATA.JSON”导入数据;
const DATA=DATA_JSON as Record;//使用我自己的类型,而不是推断的类型。
导出{DATA};

但这很无聊。是否有其他方法将我自己的类型赋予在TypeScript中导入的JSON文件?

是否将
modules.d.ts
添加到您的Tconfig中的
include
?如果不这样做,因为如果不这样做,typescript将不会看到此文件,因为您没有显式导入它。此外,您还可以在第二个文件的开头编写
//
,在这里您导入了jsonI,并尝试了类似的方法,但没有任何乐趣。我想引用我已经在我的应用程序的其他地方使用的界面
src
位于
include
in
tsconfig.json
中。代码: