目录
概念
- npm全称为node package manager,即node包管理器,它运行在node环境中,让开发者可以用简单的方式完成包的查找、安装、更新、卸载、上传等操作
- npm之所以要运行在node 环境,而不是浏览器环境,根本原因是因为浏览器环境无法提供下载、删除、读取本地文件的功能。而node属于服务器环境,没有浏览器的种种限制,理论上可以完全掌控运行node的计算机。
包的安装
- 由于npm的官方registry服务器位于国外,所以我们经常受网速影响,从而导致下载缓慢或失败,这里建议重新设置registry的地址为国内淘宝镜像地址,代码如下:
npm config set registry https://registry.npm.taobao.org
- npm 安装一个包,分为两种安装方式:全局安装和本地安装
本地安装代码如下:
npm install 包名 // 默认安装最新版本
npm i 包名 // install可以简写为i
npm i 包名@版本号 // 安装指定版本
全局安装代码如下:
npm i -global 包名
npm i -g 包名
npm i 包名 -global
npm i 包名 -g
- 重要:全局安装的包并非所有工程可用,它仅提供全局的CLI工具,即命令行指令
- 大部分情况下,都不需要全局安装包,除非:
- 包的版本非常稳定,很少有大的更新
- 提供的命令行指令在各个工程中使用的非常频繁
包的配置
建议创建项目之初,先运行如下一行代码来初始化项目
npm init // 自己手动选择一些初始化选项
npm init -y // 自动选择初始化默认选项
初始化完会自动生成一个package.json文件,作用如下:
- 作为一个描述文件,描述了你的项目依赖那些包
- 允许我们使用“语义版本规则”,指明你项目依赖的版本
- 让你的构建更好的与其他人共享
package.json文件最重要的作用,是记录当前工程的依赖
- dependencies:生产环境的依赖包
- devDependencies:仅开发环境的依赖包
配置好依赖后,使用下面的命令即可安装依赖:
// 本地安装所有依赖 dependencies + devDependencies
npm install
npm i
// 仅安装生产环境的依赖 dependencies
npm install --production
包的使用
// commonJS
const lodash = require('lodash')
// ES Module
import lodash from 'lodash'
npm脚本
在开发的过程中,我们可能会反复使用很多的 CLI 命令,例如:
- 启动工程命令(node 或 一些第三方包提供的CLI命令)
- 部署工程命令(一些第三方包提供的CLI命令)
- 测试工程命令(一些第三方包提供的CLI命令)
npm 非常贴心的支持了脚本,只需要在 package.json 中配置 scripts 字段,即可配置各种脚本名称,之后,我们就可以运行简单的指令来完成各种操作了运行方式如下 :
npm run 脚本名称
不仅如此,npm 还对某些常用的脚本名称进行了简化,下面的脚本名称是不需要使用run的:
- start
- stop
- test
其他npm命令
// 查询包安装路径
npm root [-g]
// 查看包信息
npm view 包名
// 检查有哪些包需要更新
npm outdated
// 更新包
npm update [-g] 包名
// 卸载包
npm uninstall [-g] 包名
// 查询npm相关配置
npm config ls
// 获取某个配置项
npm config get 配置项
// 设置某个配置项
npm config set 配置项=值
// 移除某个配置项
npm config delete 配置项