ng build - 混淆私有属性名称

3
使用ng build --prod生成的捆绑包为什么不会混淆/模糊/最小化类的私有属性?这将是减少已经够大的Angular捆绑包的简单方法。
对于仅在模板中使用的类属性,同样的事情也很有用。从我的角度来看,它们应该被视为私有属性,因为它们是组件内部行为的一部分,但AOT要求它们是公共的,打破了面向对象的封装并使最小化变得困难。

1
在TypeScript中,属性名称是私有的,但在JavaScript中不是。它们在缩小代码时变成常规的类属性。 - Lazar Ljubenović
有没有办法改善这个行为?我想使用Closure Compiler Advanced,但似乎会导致很多问题。 - Javier Marín
1
你需要在代码中使用注解来使用Closure。看看tsickle可以帮助你完成这个任务。 - Lazar Ljubenović
1个回答

0
使用TypeScript的"私有字段"来混淆私有属性名称
class MyClass {
   #privateProp: number;
}

这样可以确保这些属性在外部访问时有效地隐藏起来,如果试图直接从代码的其他部分访问它们,将会导致错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接