在 node.js 项目中构建文件的最佳实践
Best Practice for structuring files within a node.js project
我目前正在尝试更多地接触节点,并且想知道在处理 npm 特定文件和文件夹时的“最佳实践”。具体来说 node_modules
.
心目中的项目有以下几个方面:
- REST API(节点/表达)
- 前端(vue/Gatsby)
- 机器人(自动化任务、js、cron 作业)
- App (Flutter),未设置节点
- 文档 (md),未使用节点设置
5 个组件中的 3 个最有可能在某个时候使用 node_modules。在单独的文件夹中单独设置所有 3 个是对磁盘的浪费-space 因为它们共享相当多的 npm 包。
这些组件应该如何设置?
我在想这样的文件夹结构:
project folder
|
├── README.md
├── node_modules
├── package.json
├── dot files (.gitignore, ...)
|
└── moduels
├── docs
├── api
├── app
├── robots
└── web
假设我开始使用 express api
。将 node_modules 文件夹重新定位到父文件结构是否有意义,这是否有效?
如果确实如此,我是否应该将应用程序和文档保留在结构中,即使它们没有使用任何 node_modules?
虽然这可能有效,但我反对在多个 modules
之间“重复使用”您的 node_modules
。相反,您可能会考虑使用 pnpm 之类的东西来提高磁盘效率。
您建议的结构特别针对所有 api、前端和作业使用单个 package.json
。因此,在稍后部署时,很难分离这三个组件之间的依赖关系。因此,当您想要单独部署它们时(例如,在 Docker 容器中),您需要在所有三个容器中使用所有依赖项,而不是仅使用需要的那些。
此外,您或多或少地设置了一个 package.json
依赖地狱。当你的一个模块需要另一个依赖版本(可能是直接的,可能是传递的)而不是另一个模块时,这会使事情变得更加复杂。
我目前正在尝试更多地接触节点,并且想知道在处理 npm 特定文件和文件夹时的“最佳实践”。具体来说 node_modules
.
心目中的项目有以下几个方面:
- REST API(节点/表达)
- 前端(vue/Gatsby)
- 机器人(自动化任务、js、cron 作业)
- App (Flutter),未设置节点
- 文档 (md),未使用节点设置
5 个组件中的 3 个最有可能在某个时候使用 node_modules。在单独的文件夹中单独设置所有 3 个是对磁盘的浪费-space 因为它们共享相当多的 npm 包。
这些组件应该如何设置?
我在想这样的文件夹结构:
project folder
|
├── README.md
├── node_modules
├── package.json
├── dot files (.gitignore, ...)
|
└── moduels
├── docs
├── api
├── app
├── robots
└── web
假设我开始使用 express api
。将 node_modules 文件夹重新定位到父文件结构是否有意义,这是否有效?
如果确实如此,我是否应该将应用程序和文档保留在结构中,即使它们没有使用任何 node_modules?
虽然这可能有效,但我反对在多个 modules
之间“重复使用”您的 node_modules
。相反,您可能会考虑使用 pnpm 之类的东西来提高磁盘效率。
您建议的结构特别针对所有 api、前端和作业使用单个 package.json
。因此,在稍后部署时,很难分离这三个组件之间的依赖关系。因此,当您想要单独部署它们时(例如,在 Docker 容器中),您需要在所有三个容器中使用所有依赖项,而不是仅使用需要的那些。
此外,您或多或少地设置了一个 package.json
依赖地狱。当你的一个模块需要另一个依赖版本(可能是直接的,可能是传递的)而不是另一个模块时,这会使事情变得更加复杂。