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

依赖管理基础专题

专题说明

本专题覆盖NPM依赖管理的核心操作,包括npm install安装依赖、版本范围语法、devDependencies与dependencies区分、npm uninstall卸载及npm update更新策略。

学习目标

  1. 掌握本地安装与全局安装的区别与使用场景
  2. 理解^、~等版本范围符号的含义与匹配规则
  3. 能正确区分生产依赖与开发依赖的安装参数
  4. 熟练使用卸载与更新命令管理项目依赖

学习内容

  • npm install:本地/全局安装、安装目录与命令格式
  • 版本范围:^、~、>、<、>=等符号的语义
  • 依赖分类:dependencies vs devDependencies
  • npm uninstall:删除依赖并更新package.json
  • npm update:版本范围内更新与锁文件更新

学习建议

  1. 牢记--save-dev用于开发依赖,--save用于生产依赖
  2. 版本范围符号是日常开发高频知识点,务必熟练掌握
  3. 定期执行npm outdated检查依赖过期情况

📝 配套习题(17 题)

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

Jest、Mocha等测试框架应该安装在devDependencies中。

A

B

2

npm update会将所有依赖更新到最新的大版本。

A

B

3

使用npm uninstall卸载包时,会同时从package.json中移除该依赖声明。

A

B

4

"express": "~4.18.0"表示可以安装4.18.x中任何不低于4.18.0的版本。

A

B

5

npm install -g 会将包安装到全局目录,所有项目都可以直接引用。

A

B

单选题
6

以下哪个包应该安装在dependencies而不是devDependencies中?

A

eslint

B

jest

C

express

D

webpack

7

"webpack": "^5.80.0""webpack": "~5.80.0"的区别是什么?

A

没有区别,效果相同

B

^允许5.x.x更新,~只允许5.80.x更新

C

^只允许5.80.x更新,~允许5.x.x更新

D

^表示精确版本,~表示最新版本

8

在生产环境中只安装dependencies而不安装devDependencies的命令是?

A

npm install --no-dev

B

npm install --production

C

npm install --only-prod

D

npm install --skip-dev

9

在不指定包名的情况下执行npm install,会发生什么?

A

报错提示缺少包名

B

根据package.json安装所有依赖

C

只安装devDependencies

D

安装最新版本的常用工具包

10

卸载一个全局安装的包的命令是?

A

npm uninstall -g

B

npm remove

C

npm delete -g

D

npm clear

11

执行npm uninstall lodash后,如果另一个已安装的包也依赖lodash,会发生什么?

A

lodash会被完全删除,其他包可能出错

B

lodash不会被删除,因为还有其他包依赖它

C

lodash会被删除,但NPM会自动安装一个新副本给其他包

D

npm uninstall命令会报错拒绝执行

12

执行npm install lodash后,lodash会被安装到哪个目录?

A

项目根目录

B

node_modules目录

C

全局npm目录

D

用户主目录

13

执行npm update后,以下哪个文件会被自动更新?

A

package.json和package-lock.json

B

仅package-lock.json

C

仅package.json

D

node_modules目录结构

多选题
14

以下哪些是合法的NPM依赖版本范围写法?

A

"1.0.0 - 2.0.0"

B

">=1.0.0"

C

"latest"

D

"*"

15

关于npm update的说法,以下哪些是正确的?

A

可以指定更新某个包:npm update

B

更新后的版本不会超出package.json声明的范围

C

会同时更新dependencies和devDependencies

D

更新后不会改变package-lock.json

填空题
16

在package.json中要精确锁定某个包的版本为2.0.0,不允许任何版本更新,应写成____________

17

更新全局安装的npm包的命令是____________

参考答案
1.正确 2.错误 3.正确 4.正确 5.错误 6.C 7.B 8.B 9.B 10.A 11.B 12.B 13.B 14.A;B;C;D 15.A;B;C 16."2.0.0" 17.npm update -g
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 供应链安全与防护专题
下一个专题 → 依赖管理深入专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码