我有一个项目有一个单独的前端(webpack)和后端(express / mongodb),我希望将package.json
分开,同时分享一些逻辑/实用程序他们之间的代码。如何组织我的文件结构,以便我可以适当地分离它们的依赖项。
现在这是我的文件结构,前端和后端共享相同的node_modules
app
|
| - frontend
| | - index.js
| | - src
|
| - backend
| | - index.js
| | - models
| | - api
| | - statics (webpack builds into here)
|
| - lib
| | - logic here (may require npm dependency)
|
|- package.json
|- webpack.config.js
如果他们不同时需要lib目录,我可以很容易地将它们分成2个npm项目,但这实际上意味着我必须将代码复制到两个文件夹中。有没有更好的方法来实现这一目标?
答案 0 :(得分:1)
我最终将我的项目变成了monorepo并使用https://lernajs.io/来连接它们。将每个文件夹作为单独的npm项目。
我发现的缺点是软件包安装过程(npm install
)需要更长的时间,因为每个子项目都要单独安装,其中许多包含重复的软件包。