当前位置: 首页 > news >正文

网站的专业惠州网站建设找惠州邦

网站的专业,惠州网站建设找惠州邦,全国工商信息公示系统,大连辰熙大厦做网站1 node_modules安装方式 在npm3之前是以嵌套结构方式安装依赖包,存在两个问题: 依赖路径太长多个包依赖一个相同包时,本地磁盘会存储多个相同的包 npm3和yarn使用扁平化结构,node_modules变成所有包放在同一层级 注意&#xf…

1 node_modules安装方式

在npm@3之前是以嵌套结构方式安装依赖包,存在两个问题:

  • 依赖路径太长
  • 多个包依赖一个相同包时,本地磁盘会存储多个相同的包

npm@3和yarn使用扁平化结构,node_modules变成所有包放在同一层级

注意:多个版本的包只有一个会被提升至顶层,其他版本的包会嵌套安装到各自依赖中
在这里插入图片描述
哪个版本的包被提升依赖于package.json中包的前后顺序,于是又会出现新的问题:
依赖结构不一致导致扁平化后的结果也不一致

于是出现package-lock.jsonyarn.lock保证install后产生确定的依赖结构

幽灵依赖:是指在package.json中未定义的依赖,但在项目中依然可以正确被引用到

第二个问题幽灵依赖的产生:因为扁平化依赖包被提升至顶层,导致用户可以直接引用它,存在问题是引用版本不兼容,以及当项目不再依赖原始包时,直接引用依赖包会出现问题

第三个问题是:依赖分身和依赖提升机制可能导致大量依赖被重复安装,以下示例无论提升B@1.0还是B@2.0都会存在重复版本包被安装
在这里插入图片描述

2 yarn解决了上面哪些问题?

  • 提升安装速度:npm安装包时是串行的,每个包按照顺序安装;yarn采用并行操作。在缓存中,yarn会将每个包缓存在磁盘上
  • 使用yarn.lock记录依赖信息,保证得到稳定的依赖结构

注意:没有解决幽灵依赖和依赖分身问题

3 pnpm如何解决上述问题?

内存寻址存储策略:将包安装在系统的全局存储中,依赖的每个版本只会安装一次,在引用依赖时,会通过硬链接和软链接找到该文件,为实现此过程,node_modules下会出现.pnpm目录

  • 硬链接:使用户可以通过路径查找到全局存储中的源文件
  • 软链接:通过它可以找到对应磁盘目录下的依赖地址

(1)幽灵依赖问题:只有直接依赖会平铺在node_modules下,子依赖不会被提升
(2)依赖分身问题:相同依赖只会在全局存储中安装一次。

弊端

  • pnpm创建的node_modules依赖于软链接,在不支持软链接的环境中无法使用,例如:Electron
  • 依赖源文件安装在全局存储中,调试依赖或给依赖打补丁不方便
http://www.yayakq.cn/news/505471/

相关文章:

  • 网站建设攸县自己的品牌怎么做加盟推广
  • 中跃建设集团有限公司网站wordpress手机端模板
  • 专业app网站建设学好seo
  • 上海城市分站seo做微商怎么找客源加人
  • 网站开发要用什么语言沈阳优化网站关键词
  • 新浪做网站做一个电子商城网站建设方案
  • 微信公众号优惠和网站绑定怎么做pc网站接入微信支付
  • 商务网站开发的的基本流程成都百度推广开户公司
  • 电子商务行业网站石家庄做网站的公司哪个好
  • 海南省建设厅官方网站做月季评分表的工程网站叫什么
  • 撰写网站栏目规划建企业网站要多少钱
  • 做视频可以赚钱的网站营销网站规划的要点包括( )
  • 优质的聊城做网站广州网站建设V芯ee8888e
  • 做plc课程设计的网站站长工具ip地址查询域名
  • 网站安全建设思考网站备案 接电话
  • 葫芦岛市城乡建设局网站最新国家大事时政新闻
  • 如何弄公司网站抖音代运营怎么取消
  • 全球网站免费空间注册wordpress中文主题模板
  • 好品质自适应网站建设企业网站的公司和产品信息的介绍与网络营销关系
  • 衡阳外贸网站设计云南网站建设维修公司
  • 宜昌本地网站郑州网站建设q.479185700強
  • 上海市住房和城乡建设部官方网站天津做网站
  • 怎么查网站有没有做301网站建设要注意哪些
  • 网站建设职业情况wordpress如何导入文章
  • 网站建设文献英文南京响应式网站建设
  • 网站开发数据库课程设计建行
  • 网站建设初期阿克苏网站建设价格
  • 高端网站建设必须要满足哪些要求如何新建一个网页页面
  • 省品牌建设联合会网站渭南seo快速排名
  • 郑州网站定制外包东莞网站推广费用