当前位置: 首页 > 网络应用技术

UMI3源代码分析初始化的核心服务类别

时间:2023-03-06 22:14:41 网络应用技术

  它是插头 - 企业 - 级前端 - 端应用程序框架。它被广泛用于开发的背景项目,并带来了很多方便。在这个机会的情况下,我们共享下一个“ UMI3源代码分析”系列。最初的意图非常简单,可以帮助每个人在源代码级别上了解框架。本系列的概述如下:

  Open Hongmeng,今天要分析的是第一部分,包括以下两个部分:

  源代码版本放置在此处,下一个代码被密切注释到源代码中的位置。

  源代码中此部分的路径是:

  第一个是命令的第一部分。脚手架为我们提供了这个命令。当我们创建一个项目并安装相关依赖项时,执行命令为

  因此,在命令命令期间发生了什么,让我们看一下完整的过程,如下所示:

  接下来,我们分析了它的几个关键步骤,首先是我们在命令行中输入的命令。

  解析命令行参数基于包装。该方法的两个方法是和谐。分析结果如下:

  分析线参数后,专门处理和参数:

  一般而言,如果仅输入使用UMI命令的使用指南,则输入将输出依赖版本,如果执行执行,则是下一步。

  问题:您知道将发送什么输入吗?

  运行Umi Dev

  在本地开发过程中,大多数脚手架将使用新线程来启动项目以及脚手架。此处的方法基于中等方法的封装。以下三件事已经完成:

  让我们看一下我在此过程中所做的事情。

  initwebpack

  此步骤是检查用户配置的版本以确定初始化版本。阅读默认配置文件和配置。如果有或平等的配置,将使用初始化,否则将初始化。在此版本中支持了与模块相关的配置。

  源代码中此部分的路径是:

  说到框架,首先要想到的是这也是框架的核心。该部分的核心来源是类。接下来,让我们看一下课程中发生的情况。

  该流程图中的前四个步骤在分类过程中完成,然后让我们输入课程。

  类继承用于实现自定义事件。在实例化过程中,以下三件事主要完成:

  1.分析配置文件

  对于源代码,您可以看到读取配置文件的优先级:>>,然后尝试获得相应的配置文件,并且配置将在模式中使用。

  例如:>>

  由于配置文件中的其他配置,因此在此处执行递归处理。分析所有配置文件后,将通过该方法清除缓存,这可以确保对下一个合并配置的介绍是真实的 - 时间。

  2.获取相关的绝对路径

  此步骤是要在项目目录结构中的文件夹中获取文件夹的绝对路径。如果用户在配置文件中配置,则页面文件夹的页面为默认文件。

  3.收集以对象形式描述的预设和插件

  中国的“一切事物”是对插头的描述。它可以理解为“插头-in集”,以促进插件的管理。例如:用于应用程序的插件 - 设置,包括权限管理,安特杜伊组件等。

  收集和。该方法首先调用,并完成以下处理:

  3.1,呼叫方法,进一步收集和合并

  在这里,我们可以看到收集的主要主要来源和。

  3.2,呼叫方法:输出收集或客观形式

  如官方网站中所述:每个插件 - 将对应于一个和一个路径的快捷方式,这是用于进一步简化配置的唯一值。这是此步骤的处理

  表格如下:

  思考:为什么以对象的形式描述插头 - 有什么好处?

  类实例完成后,该方法将立即调用。第一步是执行该方法。该方法的功能是完成插头的初始化。主要操作如下:

  这里的和谐是收集的结果,并在上一步中获得。在此步骤中,我们必须是一个一个,然后看看我们的工作。

  初始化插件

  该代码主要执行以下操作:

  执行该方法时,插件将添加到实例的实例中

  用于进一步处理插头钩

  这是上一步的关键值

  转换是结果。例如,密钥是对应于每个插头的钩子的值,因此在后续中可以一次执行所有插件的钩子。

  从过程和处理过程中不难看出,以对象形式的插头使插头的处理非常灵活。

  在源代码分析的上述部分之后,每个人都必须发现它。无论是提供订单,支持多元化的配置(例如:插件的依赖性插件中的依赖项,是或?)还是插件 -在我们提供的配置模式下,为了节省用户的开发效率,他们确实做了很多事情。在同一timealso上(可以在插头的处理中看到)。概念的一个“约定大于配置”。将逐步设置施工项目参考插件。用户只需要专注于业务逻辑即可。这主要是一件美丽的事情。

  好的,到目前为止,今天的源代码分析在这里。我想知道您的感觉吗?如果您仍然感到怀疑,您可以留言并讨论。如果您让您获得一些东西,欢迎您喜欢它并注意后续系列的更新!

  原始:https://juejin.cn/post/7096740749621854215