NestJS Monorepo 项目 - 我可以单独构建一个库吗?

问题描述 投票:0回答:1

我有一个使用 Nest CLI 创建的 NestJS Monorepo 应用程序。它是一个主要应用程序,我创建了一个名为“common”的库。

我想打包该库并在我的公司内分发它,但是当我这样做时,它无法正确编译。

我尝试运行

nest build common
但结果只是以 dist/libs/common/index.js 结束,其中只有大约 100 行。该 webpack 文件中的任何内容看起来都不像我的库代码。

我做错了什么?构建整体应用程序效果很好。我只是不知道如何构建单独的库。

typescript nestjs shared-libraries monorepo
1个回答
0
投票

不,不是这样。

Monorepo 与 Nest CLI

现有 Nest CLI monorepo 的方法是拥有一个包含所有共享库和应用程序的代码存储库,其中库应该与应用程序一起发布;不单独到任何注册表。这些库与应用程序捆绑在一个文件中。

您可以拥有多个应用程序,它们可以根据需要使用这些库,并单独发布。

例如: 如果您有

myApp1
myApp2
,请使用
yarn build
指定应用程序名称,webpack 将创建一个包含所有依赖项的单个文件。

类似

yarn build myApp1
yarn build myApp2

如果您检查 dist(构建)文件夹以及其子文件夹中的各个应用程序构建文件。 Webpack 将所有内容捆绑在一个文件中。

(您的)用例 - 创建一个代码存储库并单独发布多个应用程序和库

为此使用专门的工具:

  1. Lerna - 更灵活,需要额外的定制
  2. Yarn Workspace - 也能完成工作

在管理复杂的项目时,这些效率更高。在这里,您拥有所需的所有精美功能,例如缓存、版本控制等,并且速度快如闪电!

© www.soinside.com 2019 - 2024. All rights reserved.