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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。