npm学习(十一)之package-lock.json
package-lock.json
描述
对于npm修改node_modules树或package.json的任何操作,都会自动生成package.json,它描述生成的确切树,以便后续安装能够生成相同的树,而不管中间依赖项更新如何。
此文件拟提交至来源资料库,并可作以下用途:
- 描述依赖关系树的单一表示形式,以确保队友、部署和持续集成能够安装完全相同的依赖关系。
- 为用户提供一种工具,让他们可以“穿越”到node_modules以前的状态,而不必提交目录本身。
- 通过可读的源代码控制差异,提高树更改的可视性。
- 并通过允许npm跳过先前安装包的重复元数据解析来优化安装过程。
关于package-lock.json的一个关键细节是它是不能发布的,如果在除toplevel包之外的任何地方发现它,它将被忽略。它与npm-shrinkwrap.json共享一种格式,本质上是相同的文件,但允许发布。除非部署CLI工具或使用发布过程来生成生产包,否则不建议这样做。
如果package-lock.json和npm-shrinkwrap.json存在于包的根目录中,package-lock.json将完全被忽略。
文件格式
name(名字)
package-lock.json中包的名字必须匹配package.json中的内容。
version(版本)
package-lock.json中包的名字必须匹配package.json中的内容。
lockfileVersion
整数版本,从1开始,该文档的版本号为1,在生成这个package-lock.json时使用了该文档的语义。
packageIntegrity
这是从package.json中创建的子资源完整性值。不应该对package.json进行预处理。子资源完整性字符串可以由ssri之类的模块生成。
preserveSymlinks
指示安装完成时启用了环境变量NODE_PRESERVE_SYMLINKS。安装程序应该坚持此属性的值与环境变量匹配。
dependencies(依赖关系)
包名到依赖项对象的映射。依赖对象具有以下属性:
- version:版本
integrity:这是该资源的标准子资源完整性
resolved:来源
bundled
dev
optional
requires:依赖包
npm学习(十一)之package-lock.json的更多相关文章
- 解决npm ERR!Unexpected end of JSON input while paring near (解析附近时JSON输入意外结束)'...."^2.0.0-rc.0","glob"'等npm install错误
摘要 最近更新了一次node,但是更新后npm的命令总是会报 npm WARN deprecated fsevents@2.0.6: Please update: there are crash fi ...
- Node.js学习笔记(三) --- package.json 及cnpm
一.包 Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理. 完全符合 ...
- 十二、Nodejs 包与 NPM 第三方模块安装 package.json 以及 CNPM
1. 包 Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理. 在 Nod ...
- npm 学习笔记
一.介绍 1.是什么 npm 全称是 Node Package Manager,即 Node 包管理工具. 但是发展到后来,并不仅是适用于 node.js 的包. 所以现在看 node_modules ...
- NPM 学习笔记整理
NPM 学习笔记整理 阅读 550,2017年06月04日 发布,来源:blog.ihoey.com 什么是 NPM npm 之于 Node ,就像 pip 之于 Python , gem 之于 Ru ...
- npm学习(六)之如何创建 Node.js 模块
如何创建 Node.js 模块 Node.js 模块是一种可以发布到 npm 的包.当你创建一个新模块时,创建 package.json 文件是第一步. 你可以使用 npm init 命令创建 pac ...
- Node Newbie Error – NPM Refusing to Install Package as a Dependency of Itself
46 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_ ...
- npm学习(四)之如何安装全局包、更新全局安装的包、卸载全局安装的包
如何安装全局包 有两种方式用来安装 npm 包:本地安装和全局安装.选用哪种方式来安装,取决于你如何使用这个包. 如果你想将其作为一个命令行工具,那么你应该将其安装到全局.这种安装方式后可以让你在任何 ...
- 【转载】 强化学习(十一) Prioritized Replay DQN
原文地址: https://www.cnblogs.com/pinard/p/9797695.html ------------------------------------------------ ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
随机推荐
- springboot 项目中在普通类中调用dao层的mapper 出现空指针异常
项目中我遇到同样的问题 特记载一下 有两种方式 一. 该类使用@Component注解 添加一个本类类型的静态字段 创建一个初始化方法,贴上@PostConstruct 标签,用于注入bean 创建方 ...
- Struts1与Struts2区别?
(1)Struts1执行过程: <1>Web容器启动的时候ActionServlet被初始化,加载struts-config.xml配置文件. <2>浏览器发送请求到Actio ...
- C++入门经典-例6.6-字符串复制
1:字符串复制函数strcpy的格式如下: strcpy(字符数组名,字符串) 其作用是把字符串中的字符串复制到字符数组中.需要注意的是,字符串结束标志'\0'也一同被复制. 注意是将后面的内容复制给 ...
- 【CentOS】yum安装教训
前言:本来想安装sl在新安装的centos7上,网上搜了教程,很多都是先要你yum -y update,如下: 1.更新yum源: yum -y update 2.依赖安装: wget http:// ...
- 多个swiper使用样式出了问题
observer:true,//修改swiper自己或子元素时,自动初始化swiper observeParents:true,//修改swiper的父元素时,自动初始化swiper 不行直接设 w ...
- java自定义classloader引发的思考
引用 java类的热替换 classloader机制 如下图所示,java的classloader是双亲委派机制.会首先从父classloader加载指定的class,如果加载不到才会从子classl ...
- 使用Jmeter性能测试注意点
一.性能测试注意点 1. 用jmeter测试时使用BeanShell脚本获取随机参数值,会导致请求时间过长,TPS过低.应改为使用csv读取参数值,记录的TPS会更加准确. 注:进行性能测试时,应注意 ...
- 兼容ie9以下支持媒体查询和html5
<head> <!-- 让IE8/9支持媒体查询,从而兼容栅格 --> <!--[if lt IE 9]> <script src="https:/ ...
- Android Studio在Make Project时下载Grandle特别慢
SDK下载完成了,建个工程, 又蒙了: Server returned HTTP response code: 502 for URL: https://services.gradle.org/dis ...
- linux 下的快捷键操作
概述 今天发现自己码代码的效率有点低,所以查找了一下 linux 常用的快捷键操作,记录下来,供以后开发时参考,相信对其他人也有用. linux 终端常用快捷键 tab:补全命令 Ctrl + u:剪 ...