哦!我是一个小团队的后端,主要在 postgres/nodejs/apollo graphql/react 堆栈中构建应用程序。
在我的爱好项目中,我使用 golang,并且在使用 cobra/viper 构建 CLI 应用程序方面做得很好。我开始尝试将所有关键业务逻辑和数据访问转移到使用 golang 构建并作为二进制文件分发的可重用小型 CLI 应用程序中。我设想这些 cli 的输出可以生成机器可读的 json。
然后,nodejs graphql 服务器将成为 CLI 二进制文件的更浅层包装器,并使用类似的东西调用 const { stdout, stderr } = await exec('<<MY CLI --here >>');
将业务逻辑和数据访问分离到 CLI 中对我来说很有吸引力,因为它在非服务器场景中的可重用性。此外,我真的很喜欢在 go 中编写而不是 node。这似乎是一个不错的主意,但也许我忽略了这种方法的一些陷阱?有人采取过这样的方法吗?