vscode可以生成类型定义吗?

时间:2020-03-16 09:53:03

标签: typescript visual-studio-code

我一直在使用技巧来快速输入文字:

Derive typings from actual data

我从实际数据中得出自己的输入:

const ParcelFeatureTypeInstance = {"displayFieldName":"NAMECO","fieldAliases":{"PIN":"PIN / Tax Map #","OWNAM1":"Owner Name(MixedCase)",...};
type ParcelFeatureType = typeof ParcelFeatureTypeInstance;

但是我想更进一步,然后将鼠标悬停在类型上时从打开的窗口中复制实际的类型定义,但定义不完整:

const ParcelFeatureTypeInstance: {
    displayFieldName: string;
    fieldAliases: {
        PIN: string;
        OWNAM1: string;
        OWNAM2: string;
        STREET: string;
        CITY: string;
        STATE: string;
        ZIP5: string;
        NAMECO: string;
        POWNNM: string;
        DEEDDATE: string;
        CUBOOK: string;
        ... 23 more ...;
        OBJECTID: string;
    };
    geometryType: string;
    spatialReference: {
        ...;
    };
    fields: ({
        ...;
    } | {
        ...;
    })[];
    features: {
        ...;
    }[];
}

有没有办法获得完整的定义?

1 个答案:

答案 0 :(得分:2)

您可以声明并发出.d.ts文件。

尝试一下。

在example.ts文件中,输入您的常量和类型:

const ParcelFeatureTypeInstance = {"displayFieldName":"NAMECO","fieldAliases":{"PIN":"PIN / Tax Map #","OWNAM1":"Owner Name(MixedCase)"}};
export type ParcelFeatureType = typeof ParcelFeatureTypeInstance;

在tsconfig.json中至少放置:

{
  "compilerOptions": {
    "declaration": true
  }
}

然后,运行编译器:

tsc -p tsconfig.json

您将获得一个新文件example.d.ts,其中包含常量类型声明和变量。