typescript:仅从json文件导入类型

时间:2019-07-02 08:37:41

标签: json typescript webpack

有什么方法可以仅导入JSON文件type?我有一个复杂的JSON文件,我需要在整个应用程序中使用它的定义,但是当我执行import * as data from 'data.json'时,整个文件都会被导入,这会导致它存在于构建中(使用webpack)。据我所知,没有办法将其排除在webpack config中。

编辑: 我的问题可能还不清楚,所以这是我的示例:

import * as data from 'data.json'
// data looks like this:
// { 
//   a: {
//    b: 'something1'
//   },
//   c: {
//    d: 'something2'
//   }
// } 

export type typedJson = typeof data;
// which should show on hover/autocomplete: { "a": { "b": "string" }, "c": { "d": "string" } }

但是,当我这样做时,整个data.json文件将被导入,并存在于webpack捆绑包中。有什么办法可以将这些类型从包中排除呢?

1 个答案:

答案 0 :(得分:1)

您可以使用导入类型来获取json文件的类型:

type JsonDataType = typeof import('./data.json')