Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Npm 在子项目之间共享节点_模块安装,同时维护单独的package.json文件_Npm_Node Modules_Package.json - Fatal编程技术网

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 root
Project
文件夹包含
package.json
,用于安装各种基础设施模块(例如,在集中构建时安装Gulp)

components
文件夹下的每个组件最终在构建之后部署到某个地方供应用程序使用-使用文件夹或tarball中通常的
npm安装。因此,每个组件都必须在自己的
package.json
中维护自己的依赖关系

按照简单的方法,将
节点单元模块安装到每个组件文件夹中会导致大量的重复,因为可能有100个组件,每个组件安装的依赖项基本相同

理想情况下,我希望:

  • 例如,在
    componentone
    文件夹中运行
    npm安装-D
  • 将文件夹中的
    package.json
    更新为
  • 项目
    文件夹中安装
  • 在某种程度上,可以通过运行(在Windows上,在本例中为Windows)来创建符号链接

    然而,符号链接是脆弱和挑剔的,所以我想避免这种解决方案


    通过
    npm链接
    是否有一个npm解决方案,或者我缺少的东西?

    我实际上希望做的事情与您在这里尝试的一样。你有没有找到一个解决方案,因为你张贴了这个或你只是走另一条路?谢谢@马克·安德烈。不幸的是,我没有。话虽如此,我们正在寻找Docker,用于dev.env安装(这就是全部内容-减少安装时间/问题,使用常用的东西和it版本)。我们还使用vagrant/Docker来减少初始安装时间/问题,但这不会减少磁盘上项目的大小。不,尽管我们非常关心正在使用的空间,但这更多的是一个避免重复和保持依赖关系之间的一致性的问题。。无论如何,谢谢你的回答,如果我在我的任务中发现了什么,我会随时通知你的!:)忘了删除我自己问题的链接,给你,以防我得到的答案也能为你服务: