我有一个使用单个git仓库的node.js应用程序,它有各种包。我试图使模块化和分离。
├── common
│ └── formattr
│ ├── node_modules
│ ├── package.json
│ └── formattr.js
└── providers
├── aws
│ ├── node_modules
│ └── package.json
└── google
├── node_modules
└── package.json
我遇到的问题是,当有人克隆应用程序时,他们必须递归到每个程序包方向并手动运行npm install
。此外,由于包aws
可能使用npm install request
,但google
包也是如此,因此浪费了大量资源和重复。现在,它们都存储了独立版本。
最后,还有这个问题:
// Inside of the aws package, I need formattr. This makes me cry inside.
let format = require('../../common/formattr/formattr');
推荐的模式和结构是什么?