我正在设计一个使用 3 个微服务的平台;一个套接字服务器、一个运行expressjs的前端服务器和一个用于发送交易电子邮件的电子邮件服务器。
项目文件结构非常简单:
project_root
|______________ socket
|______________ frontend
|______________ email
每个文件夹内都有一个nodejs项目。为了相互通信,这些微服务使用简单的 Redis pub/sub implementation 。问题是,在每个 node_modules 文件夹内,都会有一个 Redis 依赖项的 NPM 包副本。所以存在重复的代码,如果我想更新包,我必须更新 3 次。
我使用的方法不正确吗?
最佳答案
我开始了一个具有类似结构的 NodeJS 项目,但它很快就变得一团糟。我将 node_modules、通用代码和 package.json 移至项目根目录并使用单独的启动文件,以便我可以在项目之间共享通用代码。事实证明,部署和维护变得更加容易。
root
|_ socket
|_ frontend
|_ email
|_ node_modules
|_ package.json
|_ app_socket.js
|_ app_frontend.js
|_ app_email.js
关于node.js - 在nodejs中共享微服务之间的代码依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38435582/