nrwl nx angular

时间:2018-11-13 04:06:06

标签: angular nrwl

我正在使用nrwl Nx进行应用开发。到目前为止,我一直是这样关注的。

  • 为我的延迟加载功能创建了单独的库。例如:我有一个新闻模块,其中有新闻添加/删除/更新功能。该库具有所有必需的服务和路由。

  • 将上述库加载到我的应用程序中可以很好地完成工作。

一段时间后问题开始。 -当我需要在其他应用程序的新闻库中使用的某些组件时,不需要整个模块。它需要一个或两个组件。

  • 然后我必须通过提取服务注入和为数据输入的@input来重构这些组件以使其转储。

现在我需要创建新模块。与上面的功能相同,但用于添加事件/通告。

我的查询-我应该遵循上述类似新闻模块的方式

或以下方式。

  • 创建仅包含组件和服务的库。不要使用库中的服务(注入库中的任何组件)。

  • 使用应用程序中的库服务,并通过提供所需的@Input使用库中的组件来显示项目。

  • 具有该应用程序中处理的所有路线和所有其他导航。

  • ,因此该库将是放置所有提及的组件和服务的地方。仅此而已。

我每个人都明白我想说的话。您希望以哪种方式继续前进。

1 个答案:

答案 0 :(得分:1)

一般的想法是让图书馆专注于特定的东西。在您的情况下,听起来好像您需要一些库:

  • 一个处理特定域(feature)的延迟加载路由的路由,例如“客户”
  • 一个用于您的笨拙组件(可以嵌套在“客户”或“共享”之类的文件夹中)
  • 一个用于数据访问的数据,用于管理您域中的API调用和状态管理(例如“客户”或“共享”)

主应用程序应该只设置总体路由,而不能设置其他路由。您可以在这里阅读Victor的文章:https://blog.nrwl.io/building-full-stack-applications-using-angular-cli-and-nx-5eff205248f1