use*_*893 5 javascript node.js npm
抱歉,我是 NOOB 问题,我是 npm 和前端开发的新手。
我有一个库(A),它需要是一个单例,但有一个 init 来传递启动配置。我还有一个库 B,它具有库 A 作为依赖项。在我的 Web 客户端中,我需要直接引用库 A 以及库 B。我在 Web 客户端中初始化库 A。
根据我的调查,我的 Web 客户端和库 B 正在使用库 A 自己的副本,因此由于库 A 仅作为单例工作,库 B 对库 A 的调用失败,并显示undefined.
library A
library B
|----library A
web-client
|----library A
|----library B
|----library A
Run Code Online (Sandbox Code Playgroud)
在我的 Web 客户端中,package.json 引用了库 A 和 B。我的问题是有没有办法告诉库 B 使用网络客户端直接引用的库 A?
NPM 3 及更高版本支持此功能。
只要版本约束与和依赖项相匹配,就会安装和的一份副本library A并由 和 使用。library Bweb-clientlibrary Alibrary Bweb-client
如果版本约束不匹配,library B并且web-client将拥有自己的library A.
library A如果项目依赖项没有同时安装,则可以获取多个副本。
在这种情况下
npm dedupe
Run Code Online (Sandbox Code Playgroud)
或删除node_modules并重新安装依赖项
npm i
Run Code Online (Sandbox Code Playgroud)
会有帮助的。