1. npm简介
npm是JavaScript的包管理器,也是世界上最大的软件注册中心。
1.1 npm由三个独立的部分组成
1)网站:是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径;
2)注册表(registry):是一个巨大的数据库,保存了每个包(package)的信息;
3)命令行工具(CLI):npm通过命令行或终端运行,开发者通过 CLI 与 npm 打交道。
1.2 npm的作用
1)调整包以适应应用程序,或者将它们合并到应用程序中;
2)下载可以立即使用的独立工具;
3)在不下载的情况下运行包时使用npx;
4)与任何npm用户在任何地方共享代码;
5)限制特定开发人员的代码;
6)组建虚拟团队(组织);
7)管理代码和代码依赖项的多个版本;
8)更新底层代码时,可以轻松地更新应用程序;
9)发现解决相同难题的多种方法;
10)找到其他处理类似问题的开发人员。
1.3 包的类型
1)节点模块,可以在服务器端使用;
2)在命令行中添加命令的包;
3)可以在网站前端使用的软件包。
2. 安装npm以及管理npm版本
2.1 从Node.js网站安装npm
安装node的同时就安装了npm,进入node官网下载界面(https://nodejs.org/en/download/),下载与你系统相符的node版本,然后安装(安装基本就是下一步,在这里就不赘述了):
2.2 更新npm
npm比node更新更加频繁,所以要定期更新npm。
2.2.1 检查npm版本:npm -v
2.2.2 更新为最新版本:npm install npm@latest -g
2.2.3 安装将来要发布的版本:npm install npm@next -g
3. 安装/更新/卸载包
3.1 本地包
3.1.1 安装本地包:npm install
示例:安装一个lodash的包并使用
在终端或命令行中操作:
生成的目录文件:
在myNpmTest根目录下新建一个index.js的文件,引用lodash:
在终端或命令行中运行:node index.js
3.1.2 更新本地安装的包:npm update
在 package.json 文件所在的目录中执行 npm update 命令:
执行 npm outdated 命令不应该有任何输出:
3.1.3 卸载本地安装的包
删除 node_modules 目录下面的包(package):npm uninstall
从 package.json 文件中删除依赖:npm uninstall --save
3.2全局包
3.2.1 安装全局包:npm install -g
示例:安装一个jshint的包
3.2.2 更新全局安装的包:npm update -g
检查哪些包需要更新:npm outdated -g --depth=0
更新所有的全局包:npm update -g
3.2.3 卸载全局安装的包:npm uninstall -g
4. 使用package.json
管理本地安装的npm包的最佳方法是创建包package.json文件:
1)可以列出项目所依赖的包;
2)允许使用语义版本控制规则指定项目可以使用的包的版本;
3)使构建可复制,更容易与其他开发人员共享。
4.1 要求
一个package.json文件必须要有的属性:
4.1.1 “name”
1)名称全用小写字母;
2)不允许用空格;
3)允许使用破折号或下划线。
4.1.2 “version”
1)以x.x.x的格式;
2)遵循语义化版本规范。
4.2 创建一个package.json文件
4.2.1 运行CLI问卷:npm init
创建的package.json文件:
4.2.2 创建一个默认的package.json文件:npm init --yes/-y
创建的默认的packag.json文件:
4.3 使用init命令设置配置选项
设置配置选项后创建的默认的packag.json文件:
4.4 指定依赖项
4.4.1“dependencies”
该配置选项放置生产应用程序需要的包的列表,安装生产需要的包使用命令如下:
4.4.2“devDependencies”
该配置选项放置开发和测试需要的包的列表,安装开发和测试需要的包使用命令如下:
4.5管理依赖版本
如果目录下有一个package.json文件,运行npm install ,npm将查看该文件中列出的依赖项,并使用语义版本控制下载最新版本。