目录
npm包管理工具
npm(Node Package Manager,即node包管理器)是nodeJs程序包管理和分发的管理工具,npm完全用JavaScript写成,它可以让全世界与Web前端相关开发者共享代码,很方便的帮助用户快速安装和管理依赖包,这样我们就可以很方便的使用来自全球Node开发者提供的包.
什么是模块呢,一个 a.js 是一个模块,一个 b.js 也是一个模块,如果有一个模块 c.js 其中导入了a.js 和 b.js ,他已经拥有了 a.js 和b.js 所暴露的功能,那么对我们来说就只需要引入 c.js 就可以使用 a.js 和 b.js 的功能了,他们对我们来说就是一个大模块.
所以为了避免大家重复造轮子,node开发者主导了一个社区,npm(node package manager,node包管理器).>_< >_< >_<
1. 包是什么
js 模块的基本单位,就是单个的js文件,但是复杂的模块,通常由很多的子模块组成,为了方便我们的使用,我们可以吧很多个子模块组成的大模块称之为包,并把所有的子模块放在同一个目录里.简单的用一句话来描述:
包其实就是一些模块组织到一起,放到一个目录中的一个称呼.
组成一个包的所有子模块中需要一个入口模块,入口模块的导出对象被称之为包的导出对象.
默认包中的入口模块为index.js,也可以在包中新建一个package.json 包描述文件,设置main属性值为模块入口.
包 === 项目
模块 === 文件
2.安装npm
Node是一个运行环境,可以用来执行JavaScript 代码,npm 是基于node 环境的API 编写的包管理工具,可以用来下载第三方包到指定的目录中.必须要安装node环境才行.
测试是否有node环境(按住shift + 鼠标右键打开powershell 或用 cmd 命令打开控制台 或使用gitbush):
输入 node -v 命令查看node版本
输入 npm -v 命令查看npm版本
安装node环境的时候,已经自动安装了 npm 命令行工具,不需要单独安装。
3. npm 的基本使用
3.1 本地安装
一般在项目中安装项目需要的依赖包,例如JQuery ,可以在终端中切换到项目的根目录,然后执行 npm install 包名 命令来安装,例如 执行 npm install JQuery npm 工具会自动将 jQuery 这个包下载,然后放到node_modules 目录中。node_modules 目录如果不存在会新建,如果已存在,则直接将下载的包放到该目录中。
3.2 包说明文件 Package.json
包说明文件其实就是一个产品的说明书,package.json 文件一般只存在于项目的根目录下,定义了这个项目所需的各种模块,以及各个项目配置信息.
创建Package.json 文件:
npm init
输入完命令根据提示输入所需要的信息即可.
也可以使用如下命令直接创建一个默认package.json文件
nmp init -y
包说明文件中描述了项目的一些元数据,例如 name version author 等.
常用属性有:
name 项目名称
version 版本号
description 项目描述
main 主入口文件
dependencies 依赖描述
devDependencies 开发时依赖(导出不依赖)
scripts 脚本命令(可以使用npm命令进行执行)
license 开源协议
keyword 关键字
其中非常重要的属性叫做 dependencies,该属性是一个对象,里面保存的是当前项目的依赖项,高字段一般不需要手动修改,它需要结合命令 npm install --save 包名 命令来使用,只需要在安装的时候加上 --save参数就会自动的将包的依赖项添加到该属性中.
甚至可以直接把node_modules 目录删除,只要我们的package.json文件还在,就可以通过执行npm install 安装包说明文件中的所有依赖项.在我们执行 npm install 命令的时候,他就会自动查询当前目录下的 package.json 文件,然后找到里面的dependencies 属性,依次下载到 node_modules 目录下.
建议:以后使用 npm 的时候,首先用 npm init -y
初始化一个 package.json
, 然后使用 npm install 包名 --save
3.3 npm 安装包的常用命令
1. 安装包(最新版)
npm install 包名
也可以使用缩写
npm i 包名
2. 指定安装包的版本
npm i '<包的名称>@版本号'
npm i express@1.0.0
3. 全局安装
npm i '包的名称' -g
// 查看全局包的路径
npm root -g
全局安装的位置 在c盘,用户下的 AppData目录下 的Roaming下的npm下的node_modules文件夹里
4. 将安装的包写入依赖
npm i '包的名称' --save //将安装包写入 package.json依赖列表
5. 将安装的包写入开发时的依赖
npm i 包名 --save-dev
3.4 其他的npm包命令
1. 搜素包
npm search 包名
2. 查看包信息
npm view 包名
3. 卸载包
npm uninstall 包名
4.更新包
npm update 包名
4.cnpm
npm就是一个下载工具,默认就是取github上去下载,下载会比较慢,所以淘宝做了镜像.10分钟保持跟官网一次同步,只能下载不能上传 .
npm官网:www.npmjs.com
淘宝镜像: http://npm.taobao.org/
根据他里面的提示进行配置就可以使用cnpm命令进行下载了 >_<