npm官网:https://www.npmjs.com/
npm全命令:https://docs.npmjs.com/cli/v7/commands
概念
-
什么是包?
包(package)是一个或多个js模块的集合,它们共同完成某一类功能
可以简单的认为每一个工程就是一个包
有些包是为了给别人用的,这种包也叫第三方库
-
什么是包管理器?
包管理器是一个管理包的工具,前端常见的包管理器有npm、yarn、cnpm、pnpm等
包管理器具备以下能力:
- 让开发者可以轻松的下载包
- 让开发者可以轻松的升级和卸载包
- 能够自动管理包的依赖
-
什么是cli
cli是一个命令行工具,它提供一个终端命令,通过该命令可以完成一些功能
node查找包的顺序
require("a")
- 查找是否有内置模块a
- 查找当前目录的node_modules中是否有a
- 依次查找上级目录的node_modules中是否有a,直到根目录
配置源
查看源
npm config get registry
配置淘宝镜像源
npm config set registry https://registry.npm.taobao.org
配置官方源
npm config set registry https://registry.npmjs.org/
初始化
npm init # 初始化工程,帮助生成 package.json 文件
npm init -y # 初始化工程,全部使用默认配置生成 package.json 文件
package.json
{
"dependencies": { // 本地普通依赖
"qrcode": "^1.4.4" // 依赖包qrcode,版本1.4.4,主版本号不变,此版本号和补丁版本可增
},
"devDenpendencies": { // 开发依赖
"webpack": "^5.0.0"
}
}
安装
本地安装
会将包下载到当前命令行所在目录的node_modules中
绝大部分安装都使用本地安装
# 下面的 install 可以替换为 i
npm install 包名
npm install --save 包名
npm install 包名@版本号
若仅作为开发依赖,则添加参数-D
# 下面的 install 可以替换为 i
npm install -D 包名
npm install -D 包名@版本号
若要还原安装
# 下面的 install 可以替换为 i
npm install
npm install --production # 仅还原dependencies中的依赖
全局安装
会将包下载到一个全局的位置
只有需要使用某个全局命令时,才需要进行全局安装
# 下面的 install 可以替换为 i
npm install -g 包名
npm install -g 包名@版本号
卸载
本地卸载
卸载本地的安装包
# 下面的 uninstall 均可替换为 un
npm uninstall 包名
全局卸载
卸载全局的安装包
# 下面的 uninstall 均可替换为 un
npm uninstall -g 包名
查看包信息
查看包所有的版本
# view 可以替换为 v
npm view 包名 versions
全局安装练习
- 全局安装
moeda
- 运行命令
moeda 1 cny
,查看当前人民币汇率
开发流程练习
-
创建一个工程,名为
qr-shower
-
使用git初始化
-
使用npm初始化
-
添加.gitignore文件,内容如下:
node_modules .DS_Store
-
git提交:init proj
-
关联并推送到gitee
-
新建
index.js
-
设置
package.json
的脚本start
,用于运行index.js
命令 -
安装
qrcode
-
编写下面的代码
var QRCode = require('qrcode'); QRCode.toString('I am a pony!', { type: 'terminal' }, function (err, data) { console.log(data); });
-
运行脚本
npm start
,查看效果 -
开发完成,提交,然后推送到gitee
-
删除本地工程
-
从gitee拉取工程
-
还原依赖
-
重新运行