Мне нужно разработать кроссплатформенное приложение Angular (7) с USB-взаимодействием.Это взаимодействие должно осуществляться с использованием Dependency-Injection таким образом, чтобы существовал центральный интерфейс USB-сервиса и множество реализаций USB-сервиса, специфичных для каждой платформы.В конце концов, соответствующая реализация сервиса должна быть внедрена в зависимости от целевой платформы проекта.
Я хочу поддерживать приложение таким образом:
1) Центральный проект (хранилище) для самого основного приложения Angular.,Этот проект не реализует специфичный для платформы код (= Services), но разделяет базовый логический код и пользовательский интерфейс.Этот проект просто определяет основной интерфейс «USB-Service» и использует его без определения его реальных реализаций.
2) Проект Electron (репозиторий), который использует центральный репозиторий и добавляет инициализацию приложения Electron с пользовательским Angular '«Электрон-USB-Сервис» (реализующий интерфейс базового сервиса, описанный в центральном проекте)
3) Мобильный (Cordova / PhoneGap) проект (репозиторий), который действует как электронный проект со своим собственным определениемUSB-Service.
4) Браузерный проект (репозиторий), как указано выше.,,[используя WebUSB]
Как я могу создать этот подход?Хотя я хочу реализовать «основной проект» как библиотеку Angular и использовать его в каждом проекте платформы, но он почему-то не подходит мне ..