Я ищу, чтобы создать приложение Angular2, которое можно запускать двумя разными способами - либо внутри Electron, либо через CLI.Использование Angular2 за пределами браузера
В основном базовые компоненты приложения представляют собой набор услуг. В версии приложения Electron эти службы будут отображаться через набор интерактивных компонентов, однако для версии CLI они будут доступны с использованием узла.
В данный момент я нахожусь в научно-исследовательском/РоС фазе - пытаюсь подтвердить, что это возможно, и 2 вопросы возникли:
- ли Угловая поддержка любых других платформ? Кажется, что метод бутстрапа применим только для браузера.
- Похоже, что Angular2 не поддерживает инъекционные услуги в сервисах, если они не определены на уровне компонента/приложения (то есть в службе нет инжектора). Я не хочу добавлять все свои зависимости для всех моих сервисов на уровне приложений - на самом деле это не будет работать, поскольку мне нужны не одиночные игры. Кто-нибудь разработал обходное решение для этого?
Возможно, Angular2 не подходит для этого.
Вы действительно хотите построить приложение с угловым CLI без графического интерфейса? Угловая построена так, что она может работать без GUI (https://github.com/angular/universal), но это только для определенной цели (SEO и более быстрый начальный вид после загрузки). В основном вам просто нужно предоставить собственный рендерер, чтобы иметь возможность запускать его на узле и использовать альтернативный ввод-вывод вместо браузера. –
Спасибо, Гюнтер, цените, что вы проводите время. «Другими платформами» я имел в виду интерфейс командной строки (узел), а не браузер. Как таковой, я предполагаю, что не могу использовать Компоненты, поскольку нет представления HTML. Вместо этого я решил создать службы (стандартные классы JS), которые либо запускаются через компонент (в электронном), либо через CLI. Мне нравится ваш подход к использованию заводов для создания неэлементных версий класса, однако в идеальном мире я бы мог указать поставщиков услуг - для меня это определенно похоже на ограничение. – user2294382
На самом деле вы можете использовать компоненты, но, как уже упоминалось, вам нужен собственный рендерер. Ограничение не может указывать поставщиков услуг. Есть и другие. Пожалуйста, обратите внимание на то, что Angular2 представляет собой совершенно новую структуру с очень небольшим сходством с ее предшественником, а Angular2 все еще является предварительным выпуском. Это означает, что при улучшении высокоприоритетных функций будут выполняться улучшения. –