UglifyJS 不会破坏 props 和 state 属性

UglifyJS not mangling props and state properties

为什么 UglifyJS 没有在我的 React 代码中破坏 propsstate 的属性?我正在使用默认选项。

flippedSentenceerrorMessagelastSentences 都是 this.state 的属性。

或者这完全是故意的?

默认情况下不修改对象属性的原因(特别是 propsstate)是它实际上可以破坏你的代码(而且它似乎会由于 official documentation).

您可以使用附加参数破坏对象属性,但是:

THIS WILL PROBABLY BREAK YOUR CODE. Mangling property names is a separate step, different from variable name mangling. Pass --mangle-props to enable it. It will mangle all properties in the input code with the exception of built in DOM properties and properties in core JavaScript classes.

如果您仍想修改 props - 您可以尝试使用 options for --mangle-props 控制要修改的内容以及从修改中排除的内容,例如 reserved.

此外(请注意)在官方文档中关于 optimizing performance 使用 react 时他们不使用 props mangling。