全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 12 道配套习题

锁文件机制深入专题

专题说明

本专题深入解析package-lock.json的机制,包括文件结构、resolved与integrity字段的完整性校验作用以及多人协作中的冲突处理策略。

学习目标

  1. 理解package-lock.json中packages与dependencies字段结构
  2. 掌握resolved锁定下载地址与integrity完整性校验的原理
  3. 学会处理多人协作时锁文件的合并冲突

学习内容

  • 文件结构:packages、dependencies字段与完整性标识
  • resolved与integrity:下载地址锁定、哈希校验
  • 冲突处理:合并冲突原因、解决策略与版本同步

学习建议

  1. package-lock.json必须提交到版本控制,不可加入.gitignore
  2. 冲突时优先接受一方的版本,然后npm install重新生成
  3. integrity字段是供应链安全的重要防线

📝 配套习题(12 题)

💡 参考答案在文末
判断题
1

package-lock.json中的lockfileVersion字段表示当前项目依赖的npm版本。

A

B

2

integrity字段仅用于验证包是否下载完整,不提供安全防护功能。

A

B

3

package-lock.json的git合并冲突通常可以通过直接删除冲突标记并保留一方的版本来安全解决。

A

B

单选题
4

package-lock.json中dependencies字段的组织方式是什么?

A

平铺结构,将所有依赖(包括嵌套依赖)展平到一层

B

树状嵌套结构,保留完整的依赖层级关系

C

按字母顺序排列的扁平列表

D

按安装时间排序的列表

5

package-lock.json中resolved字段的作用是什么?

A

记录包的版本解析过程

B

记录包的下载URL,确保每次从同一地址下载

C

标记依赖冲突是否已解决

D

记录包的最新可用版本

6

当package-lock.json出现git合并冲突时,推荐的处理方式是什么?

A

手动编辑lock文件,删除冲突标记

B

保留其中一方的完整lock文件内容

C

先解决package.json的冲突,再删除lock文件并执行npm install重新生成

D

使用git checkout放弃合并,重新开发

多选题
7

package-lock.json中每个包条目通常包含以下哪些信息?

A

version(包的精确版本号)

B

resolved(包的下载URL)

C

integrity(包的哈希校验值)

D

requires(该包的依赖列表)

E

license(包的开源许可证)

8

关于package-lock.json中的resolved和integrity字段,以下说法正确的是哪些?

A

integrity使用SHA-512算法生成哈希值

B

修改resolved字段中的URL后,integrity校验仍然可能通过

C

切换镜像源后,resolved中的URL可能仍指向原registry

D

integrity为空时npm会跳过校验直接安装

E

同一版本的包在不同registry上integrity值相同

9

关于减少package-lock.json合并冲突,以下做法正确的是哪些?

A

频繁从主分支拉取最新代码

B

将package-lock.json加入.gitignore

C

避免多人同时修改同一依赖

D

使用npm ci替代npm install进行日常开发

E

将大依赖变更集中在一个PR中处理

填空题
10

package-lock.json中的____________字段标识了lock文件的格式版本,其中值____________对应npm v8+使用的格式。

11

package-lock.json中integrity字段的格式为____________-<base64编码的哈希值>,其中常用的哈希算法是____________

12

解决package-lock.json合并冲突时,应先解决____________文件中的冲突,然后____________该lock文件并执行npm install重新生成。

参考答案
1.错误 2.错误 3.错误 4.A 5.B 6.C 7.A;B;C;D 8.A;B;C;E 9.A;C;E 10.lockfileVersion;3 11.sha512;SHA-512 12.package.json;删除
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 私有仓库与镜像源专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码