我是Node的新手,来自Java背景。这些天我正在试验一个完整的应用程序的每个部分:数据库,rest api,ui。
到目前为止,我编写了数据库支持的逻辑,它独立运行,处理文本文件,在数据库中存储有关它们的数据,并公开REST API来查询该数据。我现在要将ui用于导航数据。
这样的结构是否合理:
- (a) main project folder
- (b) backend application (a Restify server responds to REST calls querying the database)
- (c) ui application (an http server serves React static files)
如果这是有道理的,我猜是这样的:
package.json
与服务器和休息相关的依赖项(即Restify,MongoDB,......)package.json
依赖ui(即React,Webpack等,但不是Restify或MongoDB)package.json
,它关心安装每个子项目(我想通过手写 npm-scripts 运行npm install
)。
否则,你通常如何处理这样的Node项目?你是否将每个应用程序与其他应用程序完全分开?对于那些了解该工具的人来说,这模仿了一个Maven多模块项目;虽然不需要这种自动化水平,但我想提出一个独立的软件包。
答案 0 :(得分:5)
这些项目结构称为monorepos - 包含多个包的单节点项目存储库。有像lerna这样的工具 1:https://lernajs.io/" lerna"。如果您使用纱线作为包管理器,它会带有workspaces
的实验性功能