NPM是什么
npm
是Node.js标准的软件包管理器。使用npm可以将npm仓库里的软件包下载到自己的项目中使用,是前端开发的重要工具。使用npm的前提是安装Node.js.
首先我们要了解一个重要的文件:
package.json
该文件用来管理项目中的所有依赖,npm可以根据package.json中的配置来下载项目所需的所有依赖。是项目的清单。
举个例子,当我们打包项目文件想要发布的时候,并不需要将项目所有的依赖库一起打包,因为这些库都是npm仓库里有的,我们只需要有一个package.json文件,里面有项目依赖包的名称,版本信息等。当其他人下载我们的项目文件后,就可以通过package.json文件重新下载依赖。
package-lock.json
该文件有当前项目中安装的依赖包的具体信息。
node_modules文件夹
用npm下载的依赖包都会放在这个文件夹里,一般打包项目文件时,都会自动忽略这个文件夹,因为可以用package.json里面的信息重新下载。
NPM用法
安装所有依赖
如果项目中有package.json文件,则通过运行:
1 | npm install |
它会在node_modules文件夹(如果不存在则会创建)中安装项目所需的所有东西。
安装单个软件包
运行下列命令安装单个需要的包:
1 | npm install <package-name> |
可选参数:
- –save 安装并添加条目到package.json文件的dependencies;
- –save-dev 安装并添加条目到package.json文件的devDependencies;
- -g 安装到全局环境中,而不是安装到当前文件夹,安装某个框架时经常使用。
更新软件包
1 | npm update |
npm会根据package.json和package-lock.json两个文件对比计算出当前可更新版本,并执行更新。这两条命令不会更新主版本。举个例子,不会将vue2更新到vue3
可以通过下面的命令:
1 | npm outdated |
来查看软件包的新版本。
若想要所有软件包更新到新的主版本,则需要全局地安装npm-check-updates软件包:
1 | npm install -g npm-check-updates |
然后运行:
1 | ncu -u |
这会升级package.json文件和dependencies和devDependencies中地所有版本,以便npm可以安装到新的主版本。这时再运行:
1 | npm update |
版本控制
npm可以管理版本控制,有些时候一个库和其他库的不同版本兼容性不一样,为了是开发不造成混乱,npm遵循语义版本控制标准
运行任务
如果我们在项目中安装了可以独立运行的库,比如mocha
可以使用:
1 | npm run <task-name> |
的形式运行单个任务,此时任务入口在package.json的scripts字段内;