我想知道使用库的好处是什么,而不是像nx.dev为monorepo架构所建议的那样,使用角度上的模块。
我理解npm可发布特性的好处,比如另一个回购将使用的接口,但为什么我想利用与业务相关的特性(比如主页)来创建库:
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发布于 2020-02-12 10:59:01
NX建议您将超过90%的代码放在lib和中,这些lib的目的不仅仅是在不同的应用程序之间共享代码,我们还可以创建一个库,即使代码不是共享的,并且只为路由、和环境等配置使用应用文件夹。
我们必须提到将代码分离成小单元(Lib)的好处,您可以对其进行测试并单独构建。
因此,在您的例子中,它可以是一个库,可以懒惰地加载到您的应用程序中,它可以管理自己的路由,下面是从它们的书中摘取的libs类型列表
application.
实用程序库:包含许多库和applications.使用的公共实用程序和服务的实用程序库。
当你看到所有这些类型的库时,你就会明白,这样做的目的是让代码在libs和应用程序中达到最大。
当Victor Savkin谈到libs时,我邀请您检查这个问题。
https://stackoverflow.com/questions/60186268
复制相似问题