Как сделать, чтобы поля абстрактного класса не попадали в бандл, если они не нужны?
У меня есть некоторая библиотека компонентов и сервисов (на typescript), назовем её core. Также имеется некоторая группа проектов: project1, project2...
Внутри core есть абстрактный сервис, в нем хранятся поле A и B
В project1 есть сервис, который наследуется от абстрактного сервиса из core. Внутри этого сервиса необходимо использовать только поле A, поле B из абстрактного не нужно.
Можно как-то добиться того, чтобы это поле (а в дальнейшем и методы и тд) не попадали в бандл после прод сборки? Т.е. в конечном итоге в бандл попало только поле A.
Сами компоненты из core, которые не используются в project1, в бандл не попадают. Как бы сделать тоже самое с typescript классами (сервисами), вернее ненужными в них полями?
Lynn «Кофеман», они используются одинаково в project2 и project3, чтобы не плодить один и тот же код он вынесен в абстрактный класс. Но в тоже время в project1 эти поля не нужны)
Lynn «Кофеман», опишу подробнее чтобы было более очевидно.
есть AbstractService
в нем есть поля A и B
от него в разных проектах наследуются
ProjectService
ProjectService2
ProjectService3
в наследующих классах везде используется поле A, но только в ProjectService3 поле B не используется
есть возможность настроить сборку так, чтобы в конечный бандл в ProjectService3 это поле не попадало?
Crone01, если поле не используется ВО ВСЕХ классах, то оно в принципе не может быть в общем классе.
В чем проблема сделать ещё один абстракт с этим полем и там где надо наследовать общий абстракт и новый частный?