【问题标题】:How to have Node.js microservice's client published as an independant package from the same repo?如何将 Node.js 微服务客户端作为独立包从同一个 repo 发布?
【发布时间】:2021-06-07 22:01:53
【问题描述】:

我目前正在开发一个 Web 应用程序,我决定使用客户端 api [微服务] 模式。

我通过使用 Typescript 使用 node.js 在 Clean Architecture 中开发我的微服务来挑战自己。

我已经在 Go 中做过完全相同的事情,但由于某些原因,我想在这里使用 node.js。

微服务本身的开发根本不是问题,它运行良好,考虑到我根本不习惯使用 Typescript 进行开发,我对自己所做的工作感到非常满意。

无论如何,我的问题是: 在 Go 中,我能够构建微服务的客户端并在同一时间发布它,最重要的是来自与微服务本身相同的存储库。这非常方便,因为客户端可以封装所有自定义类型和数据模型。

在这里我也想做同样的事情:我有一个主仓库

> dist //where JS files will be generated of course
> src //where you can find my TS files
  > controllers
  > factories
  > models
    > objects
      - InputObject.ts
  > repositories
  > routes
  > services
  > use_cases
  - index.ts

我想将我的客户端库放在这个主仓库的子文件夹中。

我可以使用 git 子模块或 npm 目标,但问题是,假设我的树是这样的:

> dist
> client
  > src
    - index.ts
  > dist
    - package.json
> src
  //all the same as above

如何从client/src/index.ts 使用来自src/models/* 的类型并拥有它们 当我npm publish 工作时?这可能吗?

非常感谢您的关注和参与!

【问题讨论】:

    标签: node.js typescript npm microservices


    【解决方案1】:

    我终于找到了一个很棒的包,可以让我这样做:Lerna (https://github.com/lerna/lerna)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-16
      • 2013-02-05
      • 2011-04-09
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      相关资源
      最近更新 更多