Node.js多包项目?

时间:2018-01-17 19:11:51

标签: node.js npm project-structure

我是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)

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

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

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

1 个答案:

答案 0 :(得分:5)

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

的实验性功能