# npm的使用
- 安装
npm已经在Node.js安装的时候顺带装好了😏
- 版本检测
npm --version
npm -v
- 常用命令
- npm 安装全部依赖
- npm shrinkwrap 模块依赖锁定
- npm install 安装模块
- npm uninstall 卸载模块
- npm update 更新模块
- npm outdated 检查模块是否已经过时
- npm ls 查看安装的模块
- npm init 在项目中引导创建一个package.json文件
- npm help 查看某条命令的详细帮助
- npm root 查看包的安装路径
- npm config 管理npm的配置路径
- npm cache 管理模块的缓存
- npm start 启动模块
- npm stop 停止模块
- npm restart 重新启动模块
- npm test 测试模块
- npm version 查看模块版本
- npm view 查看模块的注册信息
- npm access 在发布的包上设置访问级别
- npm package.json的语法
- install命令的参数(安装gulp为例)
npm install gulp
npm install gulp@3.9.1
npm install gulp -g
npm install gulp --save 或 npm install gulp -S
npm install gulp --save-dev 或 npm install gulp -D
npm install gulp --save-optional 或 npm install gulp -O
npm install gulp --save-exact 或 npm install gulp -E
- 设置代理
npm config set proxy http://server:port
npm config set https-proxy https://server:port
如果需要认证的话可以这样设置:
npm config set proxy http://username:password@server:port
npm confit set https-proxy https://username:password@server:port
如果代理不支持https的话需要修改npm存放package的网站地址。
npm config set registry "http://registry.npmjs.org/"
取消代理
npm config delete proxy
npm config delete https-proxy
- 私有包的安装
~/.npmrc
文件添加//registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE
# yarn的使用
- 安装
brew install yarn
- 版本检测
yarn --version
yarn -v
- 常用命令
yarn 安装全部依赖
yarn init 初始化新项目
yarn add [package] 添加依赖包
yarn add [package]@[version] 添加依赖包
yarn add [package]@[tag] 添加依赖包
yarn add [package] --dev 将依赖项添加到不同依赖项类别 devDependencies
yarn add [package] --peer 将依赖项添加到不同依赖项类别 peerDependencies
yarn add [package] --optional 将依赖项添加到不同依赖项类别 optionalDependencies
yarn upgrade [package] 升级依赖包
yarn upgrade [package]@[version] 升级依赖包
yarn upgrade [package]@[tag] 升级依赖包
yarn remove [package] 移除依赖包
# npm&yarn源管理
# 设置淘宝源
npm config set registry https://registry.npm.taobao.org
yarn config set registry https://registry.npm.taobao.org
# nrm
nrm(npm registry manager )是npm的镜像源管理工具,使用这个就可以快速地在 npm 源间切换。
- 安装
npm install -g nrm
- 查看可用地址(*为当前所选源)
nrm ls
- 切换源
nrm use taobao
- 测速
nrm test npm
- 增加自定义源(私有源等情况)
nrm add registry http://url/
- 删除自定义源
nrm del <registry>
# 使用过的包或中间件
minimist
解析用户命令,将 process.argv 解析成对象
chalk
让你 console.log 出来的字带颜色,比如成功时的绿色字
inquirer
询问用户并记录反馈结果,界面互动的神器
fs-extra
对 fs 库的扩展,支持 promise
ora
提供 loading 菊花
semver
提供版本比较
figlet
console.log出一个漂亮的大logo
open
跨平台打开 app,比如调试的时候开打 chrome
bull
基于Redis的Node队列
Redlock
Node基于redis的分布式锁的实现
pino
Node.js记录器
pino-http
高速HTTP记录器
nodemon
自动重新启动
cross-env
跨平台设置和使用环境变量的脚本
cors
启用具有各种选项的CORS
compression
压缩中间件
dotenv
环境变量从.env文件加载到中process.env
convict
引入配置方案,config
morgan
日志中间件
commander
``
helmet
安全信息
http-status-codes
枚举HTTP状态代码的常量
concurrently
并行运行命令 concurrently 'a' 'b' 相对于 a && b,一个ab同时执行,一个先a后b
patch-package
修改包内容
postinstall-postinstall
yarn 安装patch-package需要同步安装
tsoa
OpenAPI 框架
joi
express-rate-limit
express-brute
express-jwt
express-jwt-blacklist
TypeORM
sequelize
mongoose
Knex
Objection.js
waterline
Bcrypt
safe-regex
sandbox
cookie-session
csurf
validate
body-parser
compression
connect-timeout
cookie-parser
errorhandler
express-session
response-time
serve-favicon
serve-index
whost
bunyan
express-gateway
reflect-metadata
log4js
winston
pino
lodash
ramda
day.js
qs
一个 url参数转化 (parse和stringify)的轻量级js库
big.js
file-saver
一个在客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序
js-xlsx
解析和编写excel文件的库
SortableJS
拖拽库
KeyboardJS
一个在浏览器中使用的库(与node.js兼容).它使开发人员可以轻松设置键绑定和使用组合键来设置复杂的绑定.
html2canvas
js开发的浏览器网页截图工具
dom-to-image
一个可以将任意DOM节点转换为用JavaScript编写的矢量(SVG)或光栅(PNG或JPEG)图像的库
cropperjs
图片裁切库
iscroll
移动端使用的一款轻量级滚动插件
Typed.js
一个轻松实现打字效果的js插件
fullPage.js
一个可轻易创建全屏滚动网站的js滚动动画库, 兼容性无可替代
Kute.js
一个强大高性能且可扩展的原生JavaScript动画引擎,具有跨浏览器动画的基本功能
GreenSock JS
一个JavaScript动画库
Anime.js
一个JavaScript动画库
Velocity
一个Javascript 动画引擎