警告:我以前从未使用过Typescript。
我正在使用Web组件,并且我对创建一个文件会感兴趣,该文件定义了会影响该组件的属性(以及潜在的事件)。我已经对Typescript进行了研究,我喜欢它似乎能够描述对象形状的简洁方式。这是我到目前为止的内容:
/* defining the keys (and which are optional) */
interface IX {
hidden?: boolean;
selected?: boolean;
disabled?: boolean;
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
onChange?: (event: any): void;
}
/* setting defaults */
export const ix: IX = {
hidden: false,
selected: false,
disabled: false,
}
虽然我目前在项目中未使用Typescript(我也不完全相信我需要这样做才能使它正常工作),但我正在寻找一种解决方案,该方案将使用类似于上面的文件并输出定义组件形状的一些模式。也许是这样的:
export const ixShape = {
hidden: {
type: 'boolean',
optional: true,
'default': false,
},
/* and so on */
}
这可以在构建时发生,不需要在运行时发生。如果我需要像Rollup这样的捆包机,我也可以利用它。当前有哪些解决方案(如果有)?