一.npm自身相关
1.n 版本控制
n //查看已安装版本
n latest //安装最新版本并使用
n latest -d //下载最新版但不使用,-d参数表示为仅下载
n stable //安装最新稳定版本并使用
n 版本 //安装某个版本并使用,如n 6.2.2
n rm 版本 //删除某些版本
n ls //查看可用版本
n --latest //查看最新版本
n --stable //查看最新稳定版
n -h //查看帮助信息,更多命令在这里查看
2.nvm 版本控制
全称Node Version Manager,与n不同,nvm不是一个npm包,而是一个独立软件包,通过shell脚本实现的。
下载地址
:
windows:https://github.com/coreybutler/nvm-windows/releases
github官网:https://github.com/nvm-sh/nvm
Linux:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
source ~/.bashrc
命令
:
nvm install 版本 //安装指定版本npm
nvm uninstall 版本 //卸载某个版本npm
nvm use 版本 //使用指定的版本
nvm ls //查看当前已经安装的版本
nvm current //查看正在使用的版本
nvm run 版本 myApp.js //以指定版本执行脚本
nvm alias default 版本 //设定某个版本为默认使用版本
3.nrm 源管理包
全称Npm Registry Manager,用来帮助快速在不同源之间切换,实际执行的是:npm set registry 源的地址。
nrm ls // 查看源列表
nrm use 源名称 // 切换源
nrm add (源名称) 源地址 // 添加源
nrm del 源名称 // 删除源
nrm help // 查看nrm帮助
nrm home 源名称 // 跳转到指定源的官网
nrm test 源名 //测试响应时间
nrm current //查看当前使用的源
二.常用
1.axios 网络请求
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
用法
:
中文文档:http://www.axios-js.com/zh-cn/docs/
2.moment | dayjs 时间日期
二者都是对时间进行处理的包,API基本都相同,但dayjs相对而言轻量许多,可优先选择。
用法
:
dayjs中文文档:https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md
3.nodemon 热更新
4.pm2 进程管理器
pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载。
用法:
需要先npm i pm2 -g
全局安装
pm2 ls //列出后台运行项目
pm2 start index.js --name 项目名 //启动index.js并为进程命名
pm2 show 进程号 //显示某进程的详细信息
pm2 log 进程号 //显示进程的控制台日志
pm2 stop 进程号 //停止某进程
pm2 restart 进程号 //重启某进程
pm2 delete 进程号 //删除某进程,进程号为'all'时删除全部
5.lodash 实用的js工具库
Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库。
API较多,中文文档:https://www.lodashjs.com/
三.实用
1.qs 对url参数进行转化
2.big.js 十进制算术运算库
3.cheerio 在node中实现jQuery
cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方
用法:
var cheerio=require('cheerio')
var $ = cheerio.load(`<ul id = "fruits">...</ul>`) //载入html代码
var li=$('li').text() //同jQuery的选择器,获取选择到的内容的文本
var li=$('li').html() //获取选择内容的html
var li=$('li').attr('id') //获取选择内容的id
var li=$('li').attr('id',newId) //改变选择内容的id
var li=$('li').rmattr('id') //移除选择内容的id属性