Node.js多包项目?

wat*_*ery 6 project-structure node.js npm

我是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)
Run Code Online (Sandbox Code Playgroud)

如果这是有道理的,我会猜测:

  • (b)具有package.json服务器和休息相关的依赖关系(即Restify,MongoDB,......)
  • (c)有另一个package.json与ui的依赖关系(即React,Webpack等,但不是Restify或MongoDB)
  • (a)有第三个package.json关心安装每个子项目(我说npm install通过手写的npm脚本运行).否则,你通常如何处理这样的Node项目?你是否将每个应用程序与其他应用程序完全分开?

对于那些了解该工具的人来说,这模仿了Maven多模块项目; 虽然不需要这种自动化水平,但我想提出一个独立的软件包.

Pra*_*nha 6

这些项目结构称为monorepos - 包含多个包的单节点项目存储库.有一些工具,如lerna 1:https://lernajs.io/"lerna".如果您使用纱线作为包管理器,它会带有工作空间的实验性功能