0

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

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

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

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

  • 然后我不得不通过提取服务注入和为数据生成的@input 重构这些组件以成为转储。

现在我需要创建新模块。它与上述相同,但用于添加事件/公告。

我的查询-我是否应该像新闻模块一样遵循上述方式

或以下方式。

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

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

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

  • 所以图书馆将只是一个提到所有组件和服务的地方。而已..

我有人明白我想说的话.. 你更喜欢哪种方式继续。

4

1 回答 1

2

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

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

主应用程序应该只设置整体路由而不是其他任何东西。你可以在这里阅读维克多的文章:https ://blog.nrwl.io/building-full-stack-applications-using-angular-cli-and-nx-5eff205248f1

于 2018-11-17T16:11:22.670 回答