Webpack: Mangle / Minification ES6 Свойства + Реактивные ключи состояния - PullRequest
0 голосов
/ 12 марта 2020

Для какого-то проекта я использовал стандартный Webpack + React Config, и у меня есть такие классы:

class Example extends React.PureComponent {
    myLongVariableName = React.createRef();
    someUnusedMethod = () => {....}
    state = {someLongStateKey: "foo", anotherLongStateName: "bar"}
}

Сегодня я посмотрел на получившийся комплект производства Minifed и увидел, что на самом деле нет искажений / минимизации и удаления неиспользованных

  1. свойств (myLongVariableName)
  2. ключей состояния реагирования (someLongStateKey)
  3. методов (someUnusedMethod)

Я думаю, что это довольно плохо как для размера пакета, так и для читабельности (я не хочу запутывать свой код, но , украшающий , полученный пакет был слишком читабельным из-за этого).

То, что я пробовал до сих пор:

Для 1 .: Я могу использовать приватное #properties, но, похоже, что-то есть дополнительные накладные расходы при транспортировке. Есть ли другой способ пометить его как частное?

Для 2 .: Только видел это https://twitter.com/dan_abramov/status/1055705350555353088, но это только для React Hooks. Есть ли что-то для классов компонентов?

Для 3 .: См. 1.) Я попытался пометить его как #private, что переименовывает метод, но не удаляет неиспользуемые методы.

...