一、npm介绍
1)npm:node package manager是node.js默认的以js编写的软件包管理系统
官网:www.npmjs.com
文档:docs.npmjs.com
2)提到npm可能指的是:
npm这个网站
npm这个js代码仓库
npm客户端
3)npm是node.js默认的软件包管理系统。安装完node后,会默认安装好npm。
4)npm本身也是基于node.js开发的包(软件)
5)查看当前npm版本 npm -v
6)更新npm: npm install npm@latest -g
二、npm的使用
1)在https://www.npmjs.com网站搜索找到需要的包
2)在项目的根目录下, 执行npm install 包名称,本地安装
3)在node.js代码中通过require('包名');加载该模块
注意:通过“npm install 包名称” 安装的包,会自动下载到当前目录的node_modules目录下
4)npm全局安装
- npm install 包名 -g
- 全局安装指的是把包安装成了一个命令行工具;项目中要使用这个模块仍然需要安装到本项目中。
- 例如:
// 通过npm全局安装mime.js
npm install mime -g
// 安装完毕后可以在命令行直接使用
mime a.css
mime a.doc
- npm全局安装实际做了2件事:
1)下载包到c:UsersusernameAppDataRoaming
pm
ode_modeles
2) 创建一段命令行执行的代码
5)npm init [-y] 初始化创建一个package.json
6)npm root -g:查看全局安装目录,比如c:UsersusernameAppDataRoaming pm ode_modeles
7)安装cnpm: npm i cnpm -g
三、Modules和Packages区别
1)包是一个文件或目录,必须有一个package.json来描述,就可以是一个包
2)模块可以是任何一个文件或目录,只要能被node.js通过require加载即可
四、package.json
1)package.json文件:包(或项目)描述文件
package.json常见的项有:
name 包的名字,必须项
version 包的版本,必须项
description 包描述
author 包的作者
main 包的入口js文件,从main字段这里指定的那个js文件开始执行
dependencies 依赖的其他包
2)如何创建package.json
- npm init [-y] 初始化创建一个package.json;当然手动创建也可以
- 注意:项目根目录不能有中文,最好不要有大写字母
- 必须包含name和version字段
五、package-lock.json文件介绍
npm 5.x版本以后,当引入第三方包时,会自动创建package-lock.json
package-lock.json里面包含引入第三方包的所以依赖的包的信息,使得npm下载更快