【发布时间】:2025-11-22 15:15:03
【问题描述】:
上个月,我在 TypeScript 中为产品构建了一个通信层,我注意到接口中有很多属性,我将在我的代码中使用这些属性。属性的名称可以是 2-4 个字长,有时甚至 5-6 个字用于简单的解释,不幸的是,当我转译和缩小到最终 JS 时,我注意到缩小器,丑陋的,无法缩小那些的大小属性,因为它们是对象级别的属性,而不是函数级别的变量。
从技术上讲,我想要这些点:
- 我不想写短名称,因为大小问题会导致 JS 文件大小的字节爆炸。
- 我希望其他开发人员不限制调用具有特定长度名称的属性名称。
- 在最终的 JS 中使最终名称类似于
a1或b1,但开发人员会看到NextRecommendationsBatch。 - 知道此参数的使用位置将非常简单。
- 它将保持对所有级别和自动完成的强类型检查。
- 希望所有长名称在编译、转译、时间中消失。
我知道这些问题很多,但今天我们需要更小的 JS 文件。我很乐意提出建议。
代码示例,链接here:
interface DataSet1 {
numberOfItems:number;
currentBatchIndexFetching:number;
nextBatchIndexFetching:number;
}
const _data:DataSet1 = {
currentBatchIndexFetching: 1,
nextBatchIndexFetching: 2,
numberOfItems: 10,
};
您可以在编辑器右侧面板上看到here 最终代码,您会看到属性名称有问题。
const _data = {
currentBatchIndexFetching: 1,
nextBatchIndexFetching: 2,
numberOfItems: 10,
};
我找到了一个我想分享的答案。
【问题讨论】:
标签: typescript minify naming