在nodejs中共享微服务之间的代码依赖关系

时间:2016-07-18 11:29:17

标签: node.js microservices

我正在设计一个使用3个微服务的平台; 套接字服务器前端服务器运行expressjs和电子邮件服务器以发送transaccional电子邮件。

项目文件strutture非常简单:

project_root
 |______________ socket
 |______________ frontend
 |______________ email

在每个文件夹中都有一个nodejs项目。为了相互通信,这些微服务使用简单的Redis pub/sub implementation。问题是,在每个 node_modules 文件夹中,将会有一个与Redis相关的NPM包重复。所以有重复的代码,如果我想更新包,我将不得不这样做3次。

我使用的方法不正确吗?

1 个答案:

答案 0 :(得分:1)

我开始了一个类似结构的NodeJS项目,它很快变得一团糟。我将node_modules,公共代码和package.json移动到项目根目录并使用单独的启动文件,以便我可以在项目之间共享公共代码。事实证明,部署和维护更加容易。

root
|_ socket
|_ frontend
|_ email
|_ node_modules
|_ package.json
|_ app_socket.js
|_ app_frontend.js
|_ app_email.js