常用npm

155 阅读5分钟

文件读取

git相关

  • simple-git 操作git(gitlab-ci中使用)
  • degit 下载代码而不是克隆(不支持私有仓库)
    degit https://github.com/vuejs/vue\#dev test  #下载vue dev分支代码到test目录(最新的代码不带.git目录)
    

加密

  • crypto-js 支持多种加密方式
  • crypto-js-wasm crypto-js的wasm版本zhuanlan.zhihu.com/p/539167692
  • js-md5 js加密md5 不推荐使用,推荐使用crypto-js
  • jsencrypt 支持RSA 不推荐使用,推荐使用crypto-js
  • spark-md5 一个高性能的md5实现(基于JKM md5库)

vue

  • vue-virtual-scroll-list 虚拟列表
  • vue-echarts vue echarts
  • vue2-org-tree Vue2树形结构插件
  • vue-typed-js 打字效果动画库(基于vue)
  • vue-tv-focusable tv嵌入h5 焦点移动库
  • vue-slicksort 拖拉库
  • @vueuse/gesture 手势库

vite

  • vite-plugin-style-import 上面自动引入组件时候不会引入样式,这个库就是解决这个问题的
  • vite-plugin-svg-icons 生成svg精灵图 类似webpack中 svg-sprite-loader
  • vite-svg-loader vite2.x的插件用来将svg转换成vue组件,用的svgo优化 (不推荐使用,用上面)
  • vite-plugin-federation vite支持联邦模块
  • vite-plugin-qiankun vite 支持qiankun插件
  • vite-plugin-vue-inspector 跳转IDE查看

测试

  • mocha 单元测试
  • chai 单元测试
  • jest 单元测试
  • supertest 接口测试
  • lighthouse 测试性能
  • puppeteer 自动化测试 爬虫
  • ava node 测试器
  • jsdom 配合ava进行e2e测试

格式转换

  • mammoth word转html
  • js-yaml 把yaml转换为js文件

ES6兼容

  • @babel/node
  • @babel/preset-env

压缩

  • tinypng api调用tinypng
  • tinypng-script-with-cache 同上个

命令行 && shell

  • shelljs node写shell命令 类似的还有zx
  • minimist 读取node命令行参数
  • enquirer 交互式询问命令行Cli
  • prompts 交互式收集用户信息的命令行工具

ts

  • tsup 用esbuild打包ts,不需要配置
  • ts-node 原生执行ts
  • esno esbuild 的 TS/ESNext node 运行时 可以直接运行ts

解析请求中的FormData数据

  • 请求:content-type = multipart/form-data
    const { file } = req;
    let formData = new FormData();
    formData.append(`file`, file);
    
    
  • busboy
  • co-busboy co\koa的busboy

koa相关

  • koa 类似express服务器
  • @koa/router 路由
  • koa-swig 渲染模板
  • koa-static 静态资源服务器
  • koa2-connect-history-api-fallback 真假路由处理

Gulp 构建工具相关

  • gulp
  • gulp-watch 监听文件变化启动构建
  • gulp-babel
  • gulp-plumber 防止gulp管道因错误退出
  • gulp-rollup

其他

  • agmd 自动生成项目md
  • pm2 进程守护神器
  • Nunjucks 一个node端的模板引擎
  • egg-view-nunjucks egg的nunjucks插件
  • zhihu-particle 知乎背景
  • semver 语义化版本解析 npm官方出品
  • debug 用来控制输出调试日志segmentfault.com/a/119000001…
  • npm-run-all 用于并行或顺序运行多个npm脚本的CLI 工具 run-s命令 juejin.cn/post/685457…
  • node-gyp nodejs 官方维护的 C++ 的构建工具,几乎所有的 Nodejs C++ 拓展都是由它来构建。基于 GYP (generate your project,谷歌的一个构建工具)进行工作,简单来说可以想象成面向 C++ 的 Webpack
  • async-validator 表单异步校验 (element-ui使用)
  • async node和浏览器使用的异步工具库
  • @popperjs/core tips和popup位置引擎(element-plus使用)
  • node-fetch node中使用fetch(node18已支持)
  • patch-package 给npm包打补丁juejin.cn/post/696255…
  • node-xlsx 生成excel
  • npkill 删除node_modules
  • yargs 处理node命令相关参数
  • chardet 检测数据可能的编码类型
  • iconv-lite 转换数据编码类型为UTF-8
  • cross-env 处理node环境变量的兼容
  • xlsx 可以将html转换为blob/Array buffer 对sheetjs的封装
  • file-saver 客户端保存文件(基于stream或者blob)
  • streamsaver 保存文件(基于stream)
  • es6-promise promise的polyfill
  • nodemon 热重启服务 supervisor类似
  • verdaccio 私有npm库
  • nprogress 进度条
  • nodemailer 发邮件
  • stream-wormhole 销毁数据流
  • jscpd 检测代码提交的重复率
  • scripty 处理pkg文件的执行命令
  • log4js Node开发日志记录
  • conventional-changelog-cli 管理changelog
  • node-notifier 发送系统通知
  • sortablejs 拖拉排序
  • 报表 grapecity公司的activeReportsJs spreadJs
  • @rollup/plugin-replace rollup生成bundle时替换字段
  • filemanager-webpack-plugin webpack
  • lint-md-cli 检测中文markdown格式规范的命令工具
  • markdown-it 解析markdown 印记中文有中文文档
  • unplugin-vue-components 自动按需注册组件,无需 import 使用了ts之后才有的功能 juejin.cn/post/701244…
  • unplugin-auto-import #无需手动 import 进行引入 自动引入vue, vue-router, vue-i18n, @vueuse/head, @vueuse/core
  • hammer.js 手势库
  • createjs 一套完整的H5游戏引擎,做2d的动画他就足够了,包括 声音加载库:sound.js,预加载库 :preload.js,canvas动画库:ease.js,补间动画库:tween.js
  • fullpage.js 全屏滚动 vue-fullpage.js(vue版本)
  • chart.js 图表库(国外开发) echarts(国内开发)
  • tslib 包含所有 TypeScript 帮助函数的 TypeScript 运行时库 vite有使用
  • ua-device 解析UA来得到用户终端信息的JS库(百度fex团队出品)
  • filesize.js 获取文件大小
  • cheerio 爬虫 类似pubteer
  • pdf.js 预览pdf 复制 播放pdf
  • dotenv 解析环境变量 .env
  • lottie-web 解析lottie动画
  • prismjs 代码语法高亮
  • magic-string 操作字符串避免操作AST,换来更好的性能 生成source map
  • source-map 生成和解析source map
  • uuid 生成uuid
  • nanoid 替代uuid(比uuid速度快,代码少)
  • bignumber 解决计算精度问题 类似 mathjs(太大)decimal.js替代 BigDecimal.js number-precision
  • svgo 优化svg 比如去掉冗余信息
  • rollup-plugin-visualizer 分析vite打包之后的体积 类似webpack-bundle-analyzer
  • execa 执行命令 替代child_process

歌词

vue 歌词

歌词