我希望构建一个Angular2应用程序,它可以通过两种不同的方式运行 - 无论是在Electron中还是通过CLI。
基本上,应用程序的底层组件是一组服务。在应用程序的Electron版本中,这些服务将通过一组交互式组件公开,但是,对于CLI版本,可以使用节点访问它们。
目前,我处于研究/ PoC阶段 - 试图确认这是可能的,并且出现了两个问题:
也许Angular2不适合这个。
答案 0 :(得分:1)
Angular的构建方式可以扩展到其他平台上使用。
bootstrap()
以及组件或指令。我并不热衷于在应用程序级别为我的所有服务添加所有依赖项
您可以在模块中创建包含所需提供程序的数组变量。如果模块需要使用或导出的多个模块的提供者,则模块可以从其他模块导出包含此类变量的变量。提供者可以任意嵌套。然后,您可以导出一个或多个此类顶级变量以添加到bootstrap()
或根组件或另一个应定义提供程序范围的组件。
事实上,这不起作用,因为我需要非单身人士。有人为此开发了一种解决方法吗?
前者与非单身人士无关。根据您需要的非单身人士的不同,有不同的方式。
如果向组件添加提供程序,则此组件是维护单个实例的范围的根。此组件及其所有子组件(如果它们没有注册相同的提供程序)将在每次请求时获得此提供程序维护的单个实例。
如果您将提供者注册为工厂功能,则可以注入工厂以获取每次工厂功能调用的新实例。