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

生态工具与最佳实践专题

专题说明

本专题对比分析NPM生态中pnpm与Yarn的依赖管理差异,并讲解团队依赖版本管理策略的制定与定期安全扫描流程。

学习目标

  1. 理解pnpm硬链接存储与非扁平node_modules的优势
  2. 对比Yarn Berry PnP与NPM的依赖管理差异
  3. 掌握制定团队依赖版本策略与定期更新流程

学习内容

  • pnpm对比:硬链接存储、非扁平结构优势
  • Yarn对比:Yarn Berry PnP、依赖管理差异
  • 版本管理策略:团队策略制定、定期更新、安全扫描

学习建议

  1. 大型Monorepo项目推荐pnpm以节省磁盘空间
  2. 选择包管理器应综合考虑团队习惯和项目需求
  3. 建立定期的依赖更新与安全审查机制

📝 配套习题(9 题)

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

在SemVer语义化版本规范中,~1.2.3表示允许安装1.2.x范围内的任何版本(即>=1.2.3且<1.3.0),而^1.2.3表示允许安装1.x.x范围内的任何版本(即>=1.2.3且<2.0.0)。

A

B

2

Yarn Berry(v2+)的PnP模式完全不需要node_modules目录。

A

B

单选题
3

Yarn相比NPM的核心优势之一是Zero-Install,其实现原理是?

A

将所有依赖编译为二进制文件

B

将依赖缓存和.pnp.cjs提交到Git仓库

C

使用全局缓存避免重复下载

D

自动检测并跳过不变的依赖

多选题
4

关于pnpm与npm的对比,以下哪些说法是正确的?

A

pnpm的全局store可以在多个项目间共享相同依赖的磁盘空间

B

pnpm的node_modules结构可以防止幽灵依赖(phantom dependencies)

C

pnpm的.npmrc中可以通过shamefully-hoist=true恢复npm的扁平化提升行为

D

pnpm不支持npm的workspace特性,需要使用lerna

E

pnpm的安装速度通常比npm更快,尤其在大规模monorepo中

F

pnpm的硬链接机制在跨文件系统(如Docker不同挂载卷)时可能失效

5

以下哪些是Yarn相比NPM的独特功能?

A

Plug'n'Play(PnP)模式

B

Zero-Install离线安装

C

依赖版本锁定(lock文件)

D

Workspace支持

填空题
6

pnpm使用____________文件来配置工作区,而npm使用package.json中的____________字段。pnpm的全局依赖存储目录默认位于____________,可通过store-dir配置项修改路径。

7

Yarn Berry使用____________作为配置文件(替代Yarn 1的.yarnrc),通过设置____________配置项可以切换依赖安装模式:设置为____________(默认)使用Plug'n'Play模式,设置为node-modules则使用传统的node_modules模式,设置为pnpm则使用类似pnpm的符号链接模式。

8

Yarn Berry使用____________作为配置文件,而NPM使用____________作为配置文件。

简答题
9

请详细阐述企业级Node.js项目的依赖版本管理策略,包括:1)版本声明规范;2)lockfile管理;3)自动化更新流程;4)安全审计机制。

参考答案
1.正确 2.正确 3.B 4.A;B;C;E;F 5.A;B 6.pnpm-workspace.yaml;workspaces;~/.pnpm-store 7..yarnrc.yml;nodeLinker;pnp 8..yarnrc.yml;.npmrc 9.
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 版本号规则与发布基础专题
下一个专题 → 私有仓库与镜像源专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码