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 ...
随机推荐
- selenium 点击页面链接测试
点击页面链接测试 http://www.51testing.com/html/21/n-862721.html 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口 ...
- Http协议-报文
2013的双12即将到来,网上购物是大家所熟悉的.看中小米电视时,可以先下订单然后再付款,电商根据订单将小米电视正确安全的送达给我们.包裹包含电视的基本信息及电视的使用说明书,使我们能够初步的了解它的 ...
- string行读入&&文件输入
普通读入的时候会以空格作为分隔符 直接用cin>>s读入,此时可以直接处理文件尾的情况 text代码: #include <iostream>#include <cstd ...
- UVa 1663 Purifying Machine (二分匹配)
题意:每一个01串中最多含有一个‘*’,‘*’既可表示0也可表示1,给出一些等长的这样的01串,问最少能用多少个这样的串表示出这些串. 如:000.010.0*1表示000.010.001.011,最 ...
- matlab新手入门(四)(翻译)
工作空间变量 工作区包含您在数据文件或其他程序中创建或导入到MATLAB®中的变量. 例如,这些语句在工作空间中创建变量A和B. A=255; b=ones(size(Img)); 您可以使用whos ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增删改查的地步.测试好之后再来看这篇文章,我的主框架相对来说简答一点,重点还是实现系统的功能,以及对Jquery-Eas ...
- C++11之lambda表达式应用
应用 foreach语句中 #include <time.h> #include <algorithm> using namespace std; void func(int ...
- c# 库间关系
- Ajax遇到的那些坑
提前说明:这里我用的是Windows系统,所以解决问题的方法也是仅限Windows系统,浏览器使用Chrome 第一个坑:Access to XMLHttpRequest at 'file:///C: ...
- jQuery EasyUI/TopJUI输入框事件监听
jQuery EasyUI/TopJUI输入框事件监听 代码如下: <div data-toggle="topjui-panel" title="" da ...