首页 > 解决方案 > vscode 可以生成类型定义吗?

问题描述

我一直在使用一个技巧来快速打字:

从实际数据派生类型

我从实际数据中得出我的类型:

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: {
        ...;
    }[];
}

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

标签: typescriptvisual-studio-code

解决方案


您可以声明并发出.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,其中包含常量和变量的类型声明。


推荐阅读