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

我正在devise一个使用3个微服务的平台; 一个套接字服务器 ,一个运行expressjs的前端服务器和一个发送跨地区邮件的电子邮件服务器

项目文件支持非常简单:

project_root |______________ socket |______________ frontend |______________ email 

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

我使用了不正确的方法吗?

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

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