使用共享代码将package.json与前端和后端分开

har*_*nsa 7 javascript project-organization npm

我有一个具有独立的前端(的WebPack)和后端(快递/ 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
Run Code Online (Sandbox Code Playgroud)

如果它们都不需要lib目录,我可以轻松地将它们分成2个npm项目,但这实际上意味着我必须将代码复制到两个文件夹中.有没有更好的方法来实现这一目标?

har*_*nsa 1

我最终将我的项目变成了 monorepo 并使用https://lernajs.io/连接它们。将每个文件夹作为单独的 npm 项目。

我发现的缺点是包安装过程(npm install)需要更长的时间,因为每个子项目都是单独安装的,其中许多子项目包含重复的包。