Bootstrap

npm 依赖包操作命令

一、npm 安装

  1. dependencies 安装:npm install <packageName> --save
    简写:npm i <packageName> -S
  2. devDependencies 安装:npm install <packageName> --save-dev
    简写:npm i <packageName> -D
  3. 全局安装:npm install <packageName> -g

常用的安装就是上面两种,但是 --save--save-dev 到底有什么区别呢?

我们需要对 package.json 中的 dependencies devDependencies 有清楚的了解。

dependencies项目(运行时,生产环境时)依赖,最终会打包到项目中。

  • npm install axio --save

devDependencies 工程构建(开发时、打包时)依赖,最终不会打包到项目中。

  • npm install axios --save-dev

当我们安装依赖包时,如果这个包生产环境也需要使用,那就得用 --save 或者 -S,比如 vue、axios、react 等等

如果这个依赖只在开发环境使用,那就可以用 --save-dev 或者 -D,这样打包时候会减少包的体积。比如 webpack 的各种 loader(css-loader,image-loader,less-loader)等等,这些依赖在打包构建生产环境项目后就不需要了。

二、npm 删除

npm uninstall <packageName>

npm uninstall <packageName> -g        删除全局依赖

三、npm 更新

随着 npm 依赖包的不断更新,我们也会在项目中选择性的更新 npm 依赖包从而支持新的功能。

当然我们可以先删除依赖在重新安装从而达到更新的目的,但如果依赖包过多,就会很麻烦。

解决方案:用 npm-check 这个包进行依赖包更新的管理

  1. 首先安装 npm-check: npm i npm-check -g
  2. 在项目根目录运行命令:npm-check -u
D:\project\summer>npm-check -u
? Choose which packages to update.

 Minor Update New backwards-compatible features.
 ( ) @babel/core          7.0.0-beta.56  ❯  7.15.5  https://babel.dev/docs/en/n
ext/babel-core
 ( ) @babel/preset-env    7.0.0-beta.56  ❯  7.15.6  https://babel.dev/docs/en/n
ext/babel-preset-env
 ( ) vconsole             3.2.0          ❯  3.9.1   https://github.com/Tencent/
vConsole
 ( ) babel-loader devDep  8.0.0-beta.0   ❯  8.2.2   https://github.com/babel/ba
bel-loader

 Major Update Potentially breaking API changes. Use caution.
>(*) qiniu-js                   2.4.0   ❯  3.3.3   https://github.com/qiniu/js-
sdk#readme
 ( ) webpack devDep             4.16.5  ❯  5.53.0  https://github.com/webpack/w
ebpack
 ( ) webpack-cli devDep         3.1.0   ❯  4.8.0   https://github.com/webpack/w
ebpack-cli/tree/master/packages/webpack-cli
 ( ) webpack-dev-server devDep  3.1.5   ❯  4.2.1   https://github.com/webpack/w
ebpack-dev-server#readme

 Space to select. Enter to start upgrading. Control-C to cancel.

上下键进行包的切换,空格切换包是否更新,CTRL + C 退出,回车就是把选中的执行更新。

;