使用共享代码

时间:2016-12-23 02:40:33

标签: javascript npm project-organization

我有一个项目有一个单独的前端(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项目,但这实际上意味着我必须将代码复制到两个文件夹中。有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

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

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