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 ...
随机推荐
- JS框架_(JQuery.js)带阴影贴纸标签按钮
百度云盘 传送门 密码:azo6 纯CSS带阴影贴纸标签按钮效果: <!doctype html> <html> <head> <meta charset=& ...
- es6字符串的扩展——模板
todo1.模板字符串 传统的 JavaScript 语言,输出模板通常是这样写的(下面使用了 jQuery 的方法). $('#result').append( 'There are <b&g ...
- sqli-labs(38)
0X01 ?id=' and 1=1%23 正确 ?id=1' and 1=2%23 错误 存在注入 0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注 ...
- defineProperty和defineProperties介绍
v-model 实现的原理 angular 是 mvc 的实现原理,ng-model 是靠脏值检测实现的 脏值检测:for 循环一个个对比 vue 靠的是数据劫持 和 发布者,订阅者模式 数据劫持:O ...
- C# NAudio 录制声音和显示波形图
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- leetcode 82 删除排序列表中的重复元素II
与83类似,不过需要注意去除连续的重复片段的情况,如2 2 3 3这种情况,以及[1,1]这种情况下最终的cur为NULL,因此不能再令cur=cur->next; /** * Definiti ...
- web开发(十) struts2之图片验证码
1.配置前端页面 <!-- 验证码--> <div class="form-group " style="padding-left: 9%;" ...
- 缓存融合(Cache Fusion)介绍
概念 简单地说,缓存融合就是把Oracle RAC数据库中所有数据库缓存作为一个共享的数据库缓存,并被RAC中的所有节点共享.它是实现RAC的基本技术. 缓存融合主要有如下四个功能: (1) 提供扩展 ...
- elasticsearch 修改 mapping
Elasticsearch的mapping一旦创建,只能增加字段,而不能修改已经mapping的字段.但现实往往并非如此啊,有时增加一个字段,就好像打了一个补丁,一个可以,但是越补越多,最后自己都觉得 ...
- java并发编程 线程间协作
线程间协作 1. 等待和通知 等待和通知的标准形式 等待方: 获取对象锁 循环中判断条件是否满足,不调用wait()方法 条件满足执行业务逻辑 通知方: 获取对象所 改变条件 通知所有等待在对象的线程 ...