Для какого-то проекта я использовал стандартный Webpack + React Config, и у меня есть такие классы:
class Example extends React.PureComponent {
myLongVariableName = React.createRef();
someUnusedMethod = () => {....}
state = {someLongStateKey: "foo", anotherLongStateName: "bar"}
}
Сегодня я посмотрел на получившийся комплект производства Minifed и увидел, что на самом деле нет искажений / минимизации и удаления неиспользованных
- свойств (
myLongVariableName
) - ключей состояния реагирования (
someLongStateKey
) - методов (
someUnusedMethod
)
Я думаю, что это довольно плохо как для размера пакета, так и для читабельности (я не хочу запутывать свой код, но , украшающий , полученный пакет был слишком читабельным из-за этого).
То, что я пробовал до сих пор:
Для 1 .: Я могу использовать приватное #properties
, но, похоже, что-то есть дополнительные накладные расходы при транспортировке. Есть ли другой способ пометить его как частное?
Для 2 .: Только видел это https://twitter.com/dan_abramov/status/1055705350555353088, но это только для React Hooks. Есть ли что-то для классов компонентов?
Для 3 .: См. 1.) Я попытался пометить его как #private
, что переименовывает метод, но не удаляет неиспользуемые методы.