美文网首页
npm 依赖解决方案

npm 依赖解决方案

作者: 竹天亮 | 来源:发表于2016-07-19 16:13 被阅读3003次

假如有三个模块:A,B,C。A requires B at v1.0,然后C也需要B,但是版本时v2.0.如下图


npm3试图减轻这种嵌套导致的深层关系和冗余。npm3尝试通过扁平的方式安装一些第二依赖(依赖的依赖),在相同的目录作为主要需要的依赖。

下面是主要不同的关键:

  • 在目录结构里不再预测类型(primary,secondary等等)依赖
  • 依赖解决方案取决于安装顺序,或者安装的顺序会改变node_modules目录树结构

例子 - Github上的

假如有一个模块,A需要B


现在,我们创建一个应用需要模块A
npm install,npm v3会安装模块A和它的依赖module B,扁平的/node_modules目录
在npm v2里是一种嵌套的方式:

然后,我们需要另一个模块C,C需要B,但是是另一个版本。

但是,B v1.0已经是顶级依赖,我们不能再将B v2.0作为顶级依赖。npm v3会默认的使用npm v2d的方式,将新的使用嵌套方式,模块B依赖会在需要它的模块之下,这个例子里,在模块C下:

在终端里,看起来是这样的:

使用npm ls可以列出依赖和他们的关系:

如果只想查看主要的依赖,使用:
npm ls --depth=0

相关文章

  • 解决node-sass 安装报错问题

    问题 安装依赖中有node-sass 的时候报错 解决方案 查看 npm 配置 npm config list 将...

  • npm 依赖解决方案

    假如有三个模块:A,B,C。A requires B at v1.0,然后C也需要B,但是版本时v2.0.如下图 ...

  • Vue-Router 错误:Uncaught (in promi

    Vue-Router 错误 解决方案 删除 node_modules 重新安装依赖 npm i

  • ubuntu18.04安装nodejs+npm

    遇到npm : 依赖: node-gyp (>= 0.10.9) 但是它将不会被安装的bug,解决方案如下:

  • Npm 多模块依赖解决方案

    一、问题 以电商后管系统为例,有三个项目: 商品项目:mail-goods 订单项目:mail-order 集成项...

  • vue

    清除依赖缓存 npm clean cache -f npm uninstall2.安装 依赖 npm ...

  • npm常用命令

    npm uninstall XXX -S 卸载XXX依赖 npm安装依赖【npm install xxx】利用 ...

  • NPM依赖:类库工具

    NPM依赖:类库工具 系列 npm依赖:构建编译 请戳这里,持续更新 npm依赖:框架平台 请戳这里,持续更新 n...

  • npm

    npm常识 npm ls查看你的文件安装的依赖 npm ls -g 查看全局安装的模块以及依赖 npm init在...

  • vuex2.0.0 报错 [vuex] vuex require

    vuex的源码是依赖promise 所以可能在chrome上不报错 在IE上边就报错了 解决方案:npm i ba...

网友评论

      本文标题:npm 依赖解决方案

      本文链接:https://www.haomeiwen.com/subject/ktgmjttx.html