package.json相关疑惑总结
语义版本控制(node-semver)
X.Y.Z,主要版本X,次要版本Y,补丁Z
X:代表一个破坏兼容性的大变化;
Y:表示不会破坏任何内容的新功能;
Z:表示不会破坏任何内容的错误修复;
package.json中版本控制
"express":"^4.15.4"——表示至少应该使用版本4.15.4,但任何高于此版本的版本都可以,只要它们具有相同的主要版本(4.x.x)。PS:如果大版本号为0,则^与~相同,因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
"express":"~4.15.4"——表示安装时不能改变主要版本和次要版本号(4.15.x)。
"express":"4.15.4"——表示安装的指定版本号(4.15.4)。
"express":"latest"——表示安装最新版本。
package-lock.json(npm 5.x.x新增,可禁用)优先级迭代
npm 5.0.x:不管package.json怎么变,npm install 时都会根据package-lock.json文件下载;
npm 5.1.x:npm install 会无视package-lock.json文件,去下载最新的包;
npm 5.4.2后:如果改了package.json,且package.json和package-lock.json文件不同,那么npm install 时npm会根据package中的版本号以及语义含义去下载最新的包,并更新至lock。如果两者是同一状态,那么npm install 都会根据lock下载,不会理会package实际包的版本是否有更新。
package-lock.json中各参数含义
"@hui-pro/empty": {
"version": "1.1.0",
"resolved": "http://...",
"integrity": "sha1-D2egR6O4AeJh31PAr0KIyJJsciQ=",
"requires": {
"@hui-pro/locale": "^1.1.0",
"@hui-pro/theme": "^1.1.0",
"@hui-pro/utils": "^1.1.0"
},
"dependencies": {
"@hui-pro/locale": {
"version": "1.1.0",
"resolved": "http://...",
"integrity": "sha1-ZzHcgwh/q5CqslQadrXzhzQc7vQ=",
"requires": {
"deepmerge": "^1.5.2"
}
},
"@hui-pro/theme": {
"version": "1.1.0",
"resolved": "http://...",
"integrity": "sha1-+buQbn8OnWU32dIdNg6v9g6cUrU=",
"requires": {
"sass": "^1.19.0",
"sass-loader": "^7.1.0"
}
},
"@hui-pro/utils": {
"version": "1.1.0",
"resolved": "http://...",
"integrity": "sha1-V862xMe+H5G751C3CpT3bGIFr1k=",
"requires": {
"h-jsencrypt": "^1.0.1",
"moment": "^2.24.0",
"qs": "^6.5.2",
"resize-observer-polyfill": "^1.5.1"
}
}
}
}
version:应安装的特定版本;
resolved:模块的位置(URI);
integrity:验证模块完整性的哈希;
requires:它依赖的包列表;
dependencies:依赖包详情列表;
参考资料
https://segmentfault.com/a/1190000017239545
package.json相关疑惑总结的更多相关文章
- vue.js的package.json相关问题解惑
使用vue-cli创建vue.webpack项目,在项目中用到了iSlider移动端滑动插件,只在本地命令工具中npm install islider.js:提交之后,partner下载代码后一直运行 ...
- angularjs webstorm 单元测试 Package.json
Package.json小结 生成package.json 定位到想放置package.json的目录,运行npm init,根据提示就可以生成package.json文件,其中test comman ...
- 常用的package.json以及React相关
常用的package.json以及React相关 前言 package.json 的简单介绍 简单版的 package.json 必备属性(name & version) name 字段 ve ...
- webpack打包时修改package.json的版本号,并输出相关版本
可直接修改的方式 { plugins: [ function() { // 修改package.json中的版本号 this.plugin('done', function() { const pkg ...
- npm package.json属性详解
概述 本文档是自己看官方文档的理解+翻译,内容是package.json配置里边的属性含义.package.json必须是一个严格的json文件,而不仅仅是js里边的一个对象.其中很多属性可以通过np ...
- npm中package.json详解
通常我们使用npm init命令来创建一个npm程序时,会自动生成一个package.json文件.package.json文件会描述这个NPM包的所有相关信息,包括作者.简介.包依赖.构建等信息,格 ...
- 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目
自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...
- 伙计,给我来一杯package.json!不加糖
前言:夜深了,我熬了一锅热气腾腾的package.json,给大家端上来,希望大家喜欢 json和JS对象的区别 package.json,顾名思义,它是一个json文件,而不能写入JS对象. 所以我 ...
- ABP vue+asp.net core yarn serve报 Cannot find module 'typescript/package.json错误
abp的前端在node install 安装完成了相关的依赖包,直接yarn serve运行相关服务的时候报"Cannot find module 'typescript/package.j ...
随机推荐
- 条款20.宁以pass-by-reference-to-const替换pass-by-vlaue
缺省情况下c++以by value的方式传递对象至(或来自)函数.除非你另外指定,否则函数参数都是以实际实参的复件(副本)为初值,而调用端所获得的亦是函数返回值的一个复件.这些复件是由对象的c ...
- 《精通Spring4.X企业应用开发实战》读后感第四章
- day8 服务器
XML约束 XML约束要求:大家能够看懂约束内容,根据约束内容写出符合规则的xml文件. 2.1 引入 XML语法: 规范的xml文件的基本编写规则.(由w3c组织制定的) XML约束: 规范XML文 ...
- glib 库 hash table 使用
glib库提供了 hashtable 的实现 1. 常用函数: 创建一个 GHashTable 函数: hash_func 是创建value的key值的函数,key_equal_func 是比较两个k ...
- Linux下的eclipse的安装
其实在linux里配好java环境后,就已经好了. 从官网下一个eclipse,解压后,就可以直接执行eclipse了,实在是不知道什么是安装. 其实在配置java时,也是一样. 可见在linux下, ...
- 使用LinearLayout实现ListView,解决ListView和ScrollView滚动冲突
在项目中,我们常常会遇到一个ScrollView里面会嵌套ListView的情况,但往往你会发现,ListView和ScrollView的滚动时间会有冲突问题,造成ListView不能完全显示.虽然网 ...
- WPF语言切换,国际化
winform语言切换在每个窗口下面有一个.resx结尾的资源文件,在上面添加新字符串就好了: WPF语言切换跟winform不一样的地方在于需要自己添加资源文件,并且这个资源文件可以写一个,也可以写 ...
- Maven修改默认仓库为阿里云仓库
Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库. 第一步:修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,在 mirrors 节点上,添加 ...
- Js获取当前的日期和时间以及时间戳转化为时间
/** *获取当前时间 *format=1精确到天 *format=2精确到分 */ function getCurrentDate(format) { var now = new Date(); v ...
- VUE之环境安装
一.环境安装 软件安装: nodejs https://nodejs.org/en/ vscode https://code.visualstudio.com/docs/?dv=win python- ...