如何根据 Onion/Clean 架构原则实现 NodeJS 组件?

How can I implement a NodeJS component according to Onion/Clean Architecture principles?

我在将 Uncle 的 Bob 书中概述的一些概念应用到 NodeJs 应用程序时遇到了一些麻烦。有人能帮帮我吗?

关于组件打包尖叫架构:我应该如何在NodeJS中正确打包组件?

user's component

1 每个组件我应该有一个 package.json 文件吗?

2 我应该如何正确地将 UserRepository 的实现注入到域中?顶级 class 用户应该这样做吗?

在清洁架构中,顶级包应该反映核心业务目的。所以你应该根据你的主要业务方面构建你的组件,然后为每个组件创建一个或多个包。如果您想分离业务和技术方面,则单个组件的多个包是有意义的。

关于"building a screaming architecture"更详细的讨论请参考我的博客post:http://www.plainionist.net/Implementing-Clean-Architecture-Scream/

关于你的第二个问题:在干净的架构中,主要组件负责连接所有其他组件和类,因此进行依赖注入。