Npm 在子项目之间共享节点_模块安装,同时维护单独的package.json文件
我有以下文件夹结构:Npm 在子项目之间共享节点_模块安装,同时维护单独的package.json文件,npm,node-modules,package.json,Npm,Node Modules,Package.json,我有以下文件夹结构: project ├───components │ ├───component-one │ │ package.json │ │ │ └───component-two │ │ package.json │ │ │ └───node_modules ├───node_modules └───package.json Project rootProject文件夹包含package.json,用于安装各种基础设
project
├───components
│ ├───component-one
│ │ package.json
│ │
│ └───component-two
│ │ package.json
│ │
│ └───node_modules
├───node_modules
└───package.json
Project rootProject
文件夹包含package.json
,用于安装各种基础设施模块(例如,在集中构建时安装Gulp)
components
文件夹下的每个组件最终在构建之后部署到某个地方供应用程序使用-使用文件夹或tarball中通常的npm安装。因此,每个组件都必须在自己的package.json
中维护自己的依赖关系
按照简单的方法,将节点单元模块安装到每个组件文件夹中会导致大量的重复,因为可能有100个组件,每个组件安装的依赖项基本相同
理想情况下,我希望:
例如,在componentone
文件夹中运行npm安装-D
将文件夹中的package.json
更新为
在项目
文件夹中安装
在某种程度上,可以通过运行(在Windows上,在本例中为Windows)来创建符号链接
然而,符号链接是脆弱和挑剔的,所以我想避免这种解决方案
通过npm链接
是否有一个npm解决方案,或者我缺少的东西?我实际上希望做的事情与您在这里尝试的一样。你有没有找到一个解决方案,因为你张贴了这个或你只是走另一条路?谢谢@马克·安德烈。不幸的是,我没有。话虽如此,我们正在寻找Docker,用于dev.env安装(这就是全部内容-减少安装时间/问题,使用常用的东西和it版本)。我们还使用vagrant/Docker来减少初始安装时间/问题,但这不会减少磁盘上项目的大小。不,尽管我们非常关心正在使用的空间,但这更多的是一个避免重复和保持依赖关系之间的一致性的问题。。无论如何,谢谢你的回答,如果我在我的任务中发现了什么,我会随时通知你的!:)忘了删除我自己问题的链接,给你,以防我得到的答案也能为你服务: