Angular 角度2:什么是引导过程?

Angular 角度2:什么是引导过程?,angular,Angular,我已经浏览了文档,但我找不到任何关于引导过程中发生的逐步过程的信息 我在寻找与此类似的东西: 收集所有模块 提供程序被实例化并放入各个模块的注入器中 组件、指令和管道 我查看了上的源代码,但是找不到platformBrowserDynamic.bootstrapModule(AppModule)(我认为这将详细说明过程)的实现。该目录已找到,但找不到bootstrapModule 如果有人能向我解释这一点,或者有人能将我与引导过程的来源联系起来,我将不胜感激 您必须了解的第一件事是,目前正在审

我已经浏览了文档,但我找不到任何关于引导过程中发生的逐步过程的信息

我在寻找与此类似的东西:

  • 收集所有模块
  • 提供程序被实例化并放入各个模块的注入器中
  • 组件、指令和管道
  • 我查看了上的源代码,但是找不到
    platformBrowserDynamic.bootstrapModule(AppModule)
    (我认为这将详细说明过程)的实现。该目录已找到,但找不到
    bootstrapModule


    如果有人能向我解释这一点,或者有人能将我与引导过程的来源联系起来,我将不胜感激

    您必须了解的第一件事是,目前正在审查与应用程序引导相关的API。这是非常高级别的操作顺序

    这些线路:

    platformBrowserDynamic().bootstrapModule(AppModule)
    
  • 使用根注入器创建平台(platformBrowserDynamic)
  • 使用平台引导模块(bootstrapModule)
  • 在引导模块时(如果使用AOT,则跳过此部分):

  • 创建一个JIT编译器
  • AppModule及其所有组件-
  • 引导应用程序模块工厂
  • 在增强AppModule工厂时:

  • 创建NgZone注入器
  • 创建AppModule实例(moduleRef)
  • AppModule中的
    bootstrap
    中指定的bootstrap组件
  • 这意味着:

  • 创建引导组件实例-为所有子组件(Services.createRootView)创建组件视图,并实例化组件/指令类。我相信这是最重要的一步,因为Angular在这里递归地遍历编译器为所有组件创建的工厂,并创建视图。它还创建DOM节点并将它们彼此连接
  • 将创建的根组件视图附加到applicationRef
  • 这将触发组件上的所有生命周期挂钩

  • 这是一个非常广泛的话题,网络上的信息非常少,你可以试着问几个更具体的问题,看看我从2015年起对AngularJS 1.x的了解。正如您所看到的,有一个明确定义的过程,关于在中一步一步地发生的事情,至少在前几个步骤中是这样。我正在寻找一些类似的指导。好吧,我试图建立一个高水平的运作,以感谢详细的回答!一个问题:是否所有服务(
    @Injectable()
    )都在任何组件之前实例化,至少在模块级别?我这样问是因为我想创建一个将使用服务的permissions指令,在页面加载的服务构造函数中,我想运行一些init代码在内存中创建一个映射,以便可以从该指令在组件级别使用该映射,我只想确保在任何指令尝试从组件访问服务构造函数之前,服务构造函数已经运行。当然,不客气。服务实例在注入之前,而不是在模块中找到它时。因此,如果您在提供者中注册一个服务,并且从不在任何地方注入它,那么就不会有它的实例created@Lansana,我的答案中是否还有其他遗漏,您可以接受?