typescript - 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: {
...;
}[];
}
有没有办法获得完整的定义?
解决方案
您可以声明并发出.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
,其中包含常量和变量的类型声明。
推荐阅读
- python - ffmpeg 无法识别用于解密 m3u8 的本地密钥文件
- ruby-on-rails - 用于自动递增列的 Fluentd sql 输出插件配置
- sql - MS Access SQL 从分组数据中选择 MAX
- bash - 如何使base64对文件进行多次编码并将其输出到文件中?(bash)
- ios - NSURLSession:方法 dataTaskWithRequest 永远不会在冗长的响应中达到完成回调
- android - 如何在反应原生 webview 上启用暗模式?
- php - 从静态方法调用方法
- node.js - ../node_modules/ng2-ckeditor/ckbutton 中的错误。directive.d.TS:1:23 - 错误 TS2688:找不到“ckeditor”的类型定义文件
- c++ - 通过类型转换变量的地址来初始化引用
- c# - 程序启动时如何在控制文本框中获取今天的日期 C#