8

我是 nrwl nx cli 的新手,并且在他们的文档中进行了广泛搜索,但找不到将 nestjs 模块生成为 lib 而不是 app 中的实际模块的命令。

我想将nestjs模块创建为lib的原因是因为我的mono repo中有几个nestjs应用程序,并且如果我必须共享代码(在我的情况下是模块),则根据nrwl nx指南,它必须是一个lib .

任何人都可以分享命令来执行以下操作:-

  1. 在库中生成 nestsjs 模块
  2. 在 libs 文件夹中为该模块创建 nestjs 服务

任何帮助深表感谢。

4

3 回答 3

8

我得到了最终完成这项工作的命令,并与其他需要帮助的包共享

ng generate @nestjs/schematics:library mynestlib
于 2019-03-28T12:52:27.347 回答
1

引用 Nx Workspace官方文档

创建一个库向 Nx 工作区添加新库是通过使用 Angular CLI 生成命令完成的,就像添加一个新应用程序一样。

ng generate lib mylib
ng generate library mylib # same thing

这将创建一个新库,将其放在 libs 目录中,并将配置angular.json文件nx.json以支持新库。

运行ng generate lib --help以查看可用选项的列表。

ng generate lib mylib --directory=myteam将在libs/myteam/mylib.

如果--directory未定义,它会询问您应该在哪个目录中生成它,以及应该使用什么框架(Angular 或 TS)。

如果它不起作用,请,也许你应该检查你的 Nx 版本,还有你的angular.json.

@nrwl/schematics不能作为这个问题提到的默认集合。

角.json

"cli": {
  "defaultCollection": "@nrwl/schematics",
  "packageManager": "yarn"
},
于 2019-03-29T09:02:13.213 回答
0

我最近遇到了同样的问题。

虽然@Atul Chaudhary 可以用不同的方式解决这个问题,但我可以在这个评论之后解决我的问题

所以基本上,您只需将一个新nest-cli.json文件添加到您的nx 工作区根文件夹并根据您的项目结构指定这些基本信息。

nest-cli.json基本例子

{
  "collection": "@nestjs/schematics",
  "sourceRoot": "apps/api/src"
}

希望它可以帮助一些人:)

于 2022-02-07T23:07:39.433 回答