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

建网站公司浩森宇特智慧团建登录网站入口

建网站公司浩森宇特,智慧团建登录网站入口,成都1号病例判刑,wordpress 支持数据库首先 pnpm 和 npm yarn 一样是包管理工具#xff0c;他解决了npm 和 yarn 存在的一些问题 npm3之前每个依赖都是一层嵌套一层的#xff0c;每个依赖里都有node_modules 用来存放依赖所需的依赖包导致重复下载的依赖包很多#xff0c;一层层嵌套#xff0c;嵌套很深#x…首先 pnpm 和 npm yarn 一样是包管理工具他解决了npm 和 yarn 存在的一些问题 npm3之前每个依赖都是一层嵌套一层的每个依赖里都有node_modules 用来存放依赖所需的依赖包导致重复下载的依赖包很多一层层嵌套嵌套很深模块实例之间无法共享 之后的 npm3 和 yarn 因为上述问题从而使用扁平化结构管理依赖 node_modules下所有的依赖都会平铺到同一层级。由于 require 寻找包的机制如果 A 和 C 都依赖了 B那么 A 和 C 在自己的 node_modules 中未找到依赖 C 的时候会向上寻找并最终在与他们同级的 node\_modules 中找到依赖包 C。这样就不会出现重复下载的情况而且依赖层级嵌套也不会太深,因为没有重复的下载所有的 A 和 C 都会寻找并依赖于同一个B包自然也就解决了实例无法共享数据的问题。 虽然解决了问题但是也带来了新问题 依赖结构的不确定性 需要借助lock文件保证no de_modules 结构稳定性。否则出现同一层级相同包不同版本的话会根据安装的顺序给一个版本提升到公共node_modules中而另一个版本则会继续以嵌套node_modules的形式嵌套 扁平化算法的复杂度增加项目中仍然可以非法访问没有声明过的依赖包(幽灵依赖) 虽然是依赖中依赖的包没有在本身项目的package.json 中没有声明但是由于扁平化处理我们不仅仅发现多出很多没有声明在package.json 中的包外我们还可以直接在项目中引用这类没有被声明的包这就造成了幽灵依赖 以上就是 npm. 和 yarn 的一些问题那么pnpm 如何解决这类问题呢 pnpm 的优势 包安装速度非常快磁盘利用效率非常高基于内容寻址 不会重复安装同一个包。用 npm/yarn 的时候如果 100 个项目都依赖 lodash那么 lodash 很可能就被安装了 100 次磁盘中就有 100 个地方写入了这部分代码。但在使用 pnpm 只会安装一次磁盘中只有一个地方写入后面再次使用都会直接使用 hardlink即使一个包的不同版本pnpm 也会极大程度地复用之前版本的代码。举个例子比如 lodash 有 100 个文件更新版本之后多了一个文件那么磁盘当中并不会重新写入 101 个文件而是保留原来的 100 个文件的 hardlink仅仅写入那 一个新增的文件 支持monorepo pnpm 与 npm/yarn 另外一个很大的不同就是支持了 monorepopnpm 内置了对 monorepo 的支持只需在工作空间的根目录创建 pnpm-workspace.yaml 和 .npmrc 配置文件同时还支持多种配置相比较 lerna 和 yarn workspacepnpm 解决 monorepo 的同时也解决了传统方案引入的问题。 pnpm依赖的管理 pnpm 使用的是 npm version 2.x 类似的嵌套结构同时使用 .pnpm 以平铺的形式储存着所有的包然后使用 Store Links 和文件资源进行关联。简单地说 pnpm 把会包下载到一个公共目录如果某个依赖在 sotre 目录中存在了话那么就会直接从 store 目录里面去 hard-link避免了二次安装带来的时间消耗如果依赖在 store 目录里面不存在的话就会去下载一次。通过 Store hard link 的方式使得项目中不存在 NPM 依赖地狱问题从而完美解决了 npm3 和 yarn 中的包重复问题 软链接 和 硬链接 机制 pnpm 是通过 hardlink 在全局里面搞个 store 目录来存储 node_modules 依赖里面的 hardlink 地址然后在引用依赖的时候则是通过 symlink 去找到对应虚拟磁盘目录下(.pnpm 目录)的依赖地址 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ntHPliC-1686748158315)(/Users/wangyongjie/Library/Application Support/typora-user-images/image-20230614210025958.png)] 以上是A,B两个依赖使用pnpm安装后的 node_modules 结构可以看到首先会去全局的store中查找A,B两个依赖是否存在不存在则下载存入这个公共store, 然后对声明的A,B两个依赖通过软连接.pnpm文件夹下的各自依赖A,B进行关联而.pnpm则以平铺形式存储所有包而真正包 则会硬链接形式链接到项目
http://www.w-s-a.com/news/986013/

相关文章:

  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录
  • seo做网站郑州巩义网站建设
  • 建设银行网站机构特点业务发展网站推广工作计划