nrwl nx angular 的设计选择是啥

Posted

技术标签:

【中文标题】nrwl nx angular 的设计选择是啥【英文标题】:what is the design choice to follow with nrwl nx angularnrwl nx angular 的设计选择是什么 【发布时间】:2019-04-15 20:26:02 【问题描述】:

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

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

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

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

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

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

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

或以下方式。

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

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

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

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

我想说的都明白了。。你更喜欢哪种方式。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于nrwl nx angular 的设计选择是啥的主要内容,如果未能解决你的问题,请参考以下文章

nrwl/nx 原理图创建 Angular 应用程序并配置 Angular json

如何从库中导入组件(在 nrwl/nx 中使用 Angular)

如何使 Angular 11 i18n 在 NRWL NX workspace.json 中工作?

如何将 NativeScript 集成到 @nrwl/nx

如何通过命令行在 cypress.json 文件中设置环境变量? (Angular CLI - nrwl nx)

VS Code + Chrome 调试 + nrwl 架构