2

我正在做一个项目,我们将代码存储在由 nrwl “管理”的 monorepo 中。该 repo 包含几个 Angular 应用程序和几个 nestjs api。

现在我们想要对 api 进行 dockerize 以便能够将它们部署到我们的 kubernetes。

我可以通过调用来启动单个 api ng serve api1。我还可以通过运行构建单个 api ng build api1。我遇到的问题是每个 api 都需要与其一起部署的完整 node_modules 文件夹。据我所知,Angular 使用 webpack 来打包其所有依赖项。

有没有办法构建 NestJs api 并包含所有必需的 node_modules?

4

1 回答 1

2

实际上,我们刚刚发布了一种使用 NestJS 创建 monorepos 的本地方法,您可以在 Trilon 博客上阅读有关完整公告的更多信息

使用独立的 NestJS 应用程序,您现在可以简单地创建(另一个应用程序或库)并自动将其转换为 monorepo 工作区。

# make sure you have the latest @nestjs/cli
npm i --g @nestjs/cli

# if you want to create an app
nest g app my-other-app

# library
nest g lib my-library

现在您将能够使用nest build NAME构建您需要的任何应用程序,并且所有 node_modules 等都将被正确捆绑,等等!


这个新的工作区设置将创建一个您习惯的命名约定:

# ** FROM

 /src/ ... application code ...

# ** TO

/apps/
  /nest-app/
  /another-app/

/libs/
  /some-shared-lib/
  / ... /

目前在 Nest 中设置 monorepos 的方式非常适合仅作为嵌套/节点代码库的 monorepos。前端 monorepos 可以单独保存在其他地方,因为有限的代码(只有一些没有装饰器的接口)可以在 FE<>BE 之间共享。

希望有帮助:)

于 2019-10-03T13:48:04.873 回答