package.json 本地依赖,node.js如何利用package.json文件管理依赖包

  package.json 本地依赖,node.js如何利用package.json文件管理依赖包

  本文讲的是在前端项目实战中,如何使用package.json管理依赖包的版本。

  不同的规则,会对依赖关系的管理产生什么影响。

  

npm版本号定义

  版本格式:X.Y.Z[-string]

  它的意思是:

  x:主要版本号y:次要版本号z:修订版本号字符串:以前的版本号或版本编译信息,例如:

  6 . 3 . 2-的含义是:

  主版本号是6,有6次非向后兼容更新迭代。

  版本号3,有3个小的功能迭代。6.*.*=6.3.2,就可以安装这个新包了。

  修订号2,有2个bug修改或其他不重要的功能修改。6.*.*=6.3.2,就可以安装这个新包了。

  先行数字表示加工的实验阶段。

  阅读:语义版本2.0.0

  

package.json怎么识别依赖版本

  将根据以下代码进行解释:

  vue: ~2.5.22 ,

  “vue-class-component”:^6.0.0,

  vue-路由器: 3.0.1 ,

  快速:最新,

  猫鼬: * ,符号^:锁定主版本,可更新次版本号、修正版本号和先行版本号

  比如 vue-class-component: 6.0.0 ,安装依赖项时,可以安装任何符合6的版本。*.*只要主版本号是6。

  符号~:锁定主版本号和次版本号,可更新修正版本号和先行版本号

  比如 vue: ~2.5.22 ,安装依赖项时,可以安装任何符合2.5的版本。*.

  空符号:锁定所有版本号

  比如 vue-router: 3.0.1 ,只能安装3.0.1版本的依赖包。

  符号*:定义某个版本号范围

  比如vue-router: 3.0。*,可以安装3.0修复的任何版本,比如3.0.1、3.0.2。

  latest:安装最新的稳定版本

  比如快递:最新,可以安装4 . 18 . 1(2022年6月13日最新版本)。

  *:安装最新发布的版本,不一定是稳定版本

  比如猫鼬: * ,可以安装6.0.0-rc2,3.9.7等。

  Git URL:使用Git上发布的包。

  引用格式:协议://[用户[:密码] @]主机名[:端口] [:] [/]路径[# commit-ish # semver: semver]

  test : git ssh://git @ github . com:npm/CLI . git # v 1 . 0 . 27 扩展阅读:NPM文档-依赖项

  

不要太相信npm包的版本号!

  如题,这是从血的教训中得到的经验。

  当作者使用system.js时,使用的版本限制是:system.js: ^6.3.2.

  安装依赖项时,不小心安装了6.3.2版本,导致项目无法正常运行。

  原因是system.js的作者没有按照semver规范命名版本号,导致作者的项目引入了不可向下兼容更新,进而使得项目运行不正确。

  

dependencies、devDependencies与peerDependencies

  

dependencies

  生产环境中使用的依赖项统一安装在依赖项下。

  例如:

  依赖项:{

  “粉笔”:^2.4.2,

  指挥官:^3.0.0,

  fs-extra: ^8.1.0,

  《问询者报》:^6.5.0,

  mem-fs:^1.1.3,

  编辑:^6.0.0,

  谢利斯:^0.8.3

  }以上代码是作者做的cli toolkit的package.json中的一个片段。JS用来操作文件。如果它是在devDependencies中声明的,用户在安装当前工具包时会报告一个错误。

  由于由devDependencies字段声明的依赖关系,它将不会安装在npm安装工具包中。必须在要安装的依赖项字段中声明它。

  

devDependencies

  生产环境中不需要的依赖项需要安装在devDependencies下。

  因为在生产环境中,不会安装devDependencies字段下的依赖项。

  例如:

  devDependencies: {

  @ commit link/CLI :^8.1.0,

  @ commit link/config-conventi on :^8.1.0,

  “承诺”:^4.0.3,

   commitlint-config-cz: ^0.12.1,

   cz-可定制:^6.2.0,

  标准版:^7.0.0

  }以上代码是作者做的cli toolkit的package.json中的一个片段。Commitizen是作者用来规范Git提交规范的依赖包,只在开发环境中使用,所以在devDependencies中声明。

  

peerDependencies

  在开发一些插件和工具包时,对用户运行环境的依赖包的版本有要求,可以使用peerDependencies字段来声明。

  例如:

  {

  名称:茶拿铁,

  版本: 1.3.5 ,

  peerDependencies :

  茶: 2.x

  }

  }目前的工具tea-latte依赖于茶叶包装。而且要求茶叶包是主版本2。

  当不满足要求时,控制台将报告一个错误。

  更多关于node的信息,请访问:nodejs教程!这就是如何使用package.json来管理依赖包的版本。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: