gpt4 book ai didi

angular - Angular 库与 monorepo 中的 Angular 模块的优势? NX架构

转载 作者:行者123 更新时间:2023-12-05 08:51:22 24 4
gpt4 key购买 nike

我想知道在 Angular 中使用库而不是模块有什么好处,正如 nx.dev 建议的 monorepo 架构。

我理解 npm 可发布功能的好处,例如另一个 repo 将使用的接口(interface),但为什么我要从与业务相关的功能(例如主页)中创建一个库:

myorg/
├── apps/
│ ├── todos/
│ └── todos-e2e/
├── libs/
├── todos/
├── home/ <-- why nx recommends making a library here?
├── src/
├── lib/
├── home.component.html/ts/scss
├── home.module.ts
├── tools/
├── README.md
├── workspace.json
├── nx.json
├── package.json

而不是

myorg/
├── apps/
│ ├── todos/
[...]
├── home/ <-- just a simple lazy loaded module here
├── home.component.html/ts/scss
├── home.module.ts
│ └── todos-e2e/
├── libs/
├── tools/
├── README.md
├── workspace.json
├── nx.json
├── package.json
└── tsconfig.json

最佳答案

NX 建议您将超过 90% 的代码放在库中,这些库的目的不仅仅是在我们可以创建的不同应用程序之间共享代码即使代码未共享也是一个库,并且仅将应用程序文件夹用于路由和环境等配置。

我们不得不提到将代码分成小单元(库)的好处,您可以单独测试和构建它们

所以在你的情况下,它可以是一个可以延迟加载到你的应用程序中的库,它可以管理它自己的路由,这里是从他们的书中获取的库类型列表

  • 功能库:开发人员应将功能库视为为应用程序中的特定业务用例或页面实现智能 UI(带有注入(inject)服务)的库。

  • UI 库:UI 库仅包含表示组件。

  • 数据访问库:数据访问库包含用于与后端系统交互的服务和实用程序。它还包括与状态管理相关的所有代码。

  • 实用程序库:实用程序库包含许多库和应用程序使用的通用实用程序和服务。

当您看到所有这些类型的库时,您就会明白这个想法是在库中拥有最大的代码,而不是在应用程序中。

Victor Savkin 谈到 libs 时,我邀请您查看此内容

https://youtu.be/qYNiOKDno_I?t=6m35s

关于angular - Angular 库与 monorepo 中的 Angular 模块的优势? NX架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60186268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com