Javascript 强制不同的npm模块共享相同的依赖项
对不起,我是新产品管理和前端开发的新手 我有一个库(a),它需要是一个单例,但有一个init来传递启动配置。我还有一个库B,它将库a作为依赖项。在我的web客户端中,我需要直接引用库A,也需要引用库B。我在web客户端中初始化库A 根据我的调查,我的web客户端和库B似乎正在使用库A的自己的副本,因此,由于库A仅作为一个单例工作,库B对库A的调用在Javascript 强制不同的npm模块共享相同的依赖项,javascript,node.js,npm,Javascript,Node.js,Npm,对不起,我是新产品管理和前端开发的新手 我有一个库(a),它需要是一个单例,但有一个init来传递启动配置。我还有一个库B,它将库a作为依赖项。在我的web客户端中,我需要直接引用库A,也需要引用库B。我在web客户端中初始化库A 根据我的调查,我的web客户端和库B似乎正在使用库A的自己的副本,因此,由于库A仅作为一个单例工作,库B对库A的调用在未定义的情况下失败 library A library B |----library A web-client |----library A
未定义的情况下失败
library A
library B
|----library A
web-client
|----library A
|----library B
|----library A
在我的web客户端库中,A和B在package.json中引用。我的问题是,有没有办法告诉库B使用web客户端直接引用的库a?NPM 3及更高版本支持这一点
将安装一份库A
,只要库B
和web客户端
中的版本约束与库B
和web客户端
依赖项中的库A
版本约束匹配,就可以使用该库
如果版本约束不匹配,库B
和web客户端将拥有自己的库A
副本
如果不同时安装项目依赖项,则可以获取库A的多个副本
在这种情况下
npm dedupe
或删除节点\u模块
,并使用重新安装依赖项
npm i
将有所帮助。库B和web客户端的package.json中的库A版本是否相同?还有,你使用的是什么版本的npm?@DerekNguyen他们没有,但即使更新到相同的版本,我仍然有问题。estusnpm重复数据消除
命令完成了这一任务。谢谢