前端常用工具库和解决方案
根据工作中遇到的场景总结了一些JavaScript中常用的工具库和解决方案。本文很大一部分参考了字节大佬大史不说话的书籍《前端跨界开发指南》。非常适合当工具书,已经入手收藏了。
前端常用库、方案
loadshmoment.js(时间格式化、计算时间差)、day.js、date-fans(支持按需引入,函数式编程)xlsx(json与excel互相转换)、xlsx-populate(excel各种操作,支持样式改变)vue-i18nMockjs:模拟数据接口返回,可以用在浏览器环境和node端,支持自定义扩展(升级版接口管理工具rap2,json schema,实现原理其实就是模板语法)node:前端工程化,中间层,ssr渲染,协作链接(BackstopJS UI自动化回测、DocLever或Rap2搭建API平台、提供日志)ESLint、PrettierRamda.jseasel.js:canvas api js化操作YUIdoc:根据jsdoc风格的注释生成文档Echart.js、D3.js:可视化工具库。D3.js偏低层snap.svg:svg操作库,类似jqueryImpress.js,Reveal.jsVelocity.js(js复杂动画),animate.css(css简单动画)tween.js,jQuery Easing Plugin(velocity.js)Recoeder.jsvideo.js和官方扩展插件(在浏览器中播放不同格式),ffmpeg(多媒体处理模块,可以转换容器格式、通过添加参数的形式来改变流媒体的编解码方式,利用WebAssembly技术在浏览器中使用),Media Source Extension(浏览器用于支持多媒体播放的API),Bento4(提供的mp4info可以获取mp4的详细编码信息),jsmpeg.js(如果MediaSource不支持音频或视频的编解码算法,可以在服务端利用ffmpeg等工具将音频和视频的编解码格式转换为MediaSource能够支持的格式。另一种方式脱离了MSE技术,要根据现有编解码格式规范自己来编写解码程序)Commander.js(Git风格命令行工具,“主命令+子命令+参数”)和Inquirer.js(使用问答的模式来收集命令参数)shell.js(Shelljs,是基于node API实现的可以在Windows、Linux和Mac OS三大系统中使用的Shell工具)Cmder(命令行强化),cross-env(跨平台设置环境变量),MobaXterm(增强版windows终端)pm2node-ssh(promise封装,更通用的ssh2模块)archiver.js(promise封装)lonic框架,RN框架(适合团队合作,需要原生专家参与),小程序protobuf.js(消息体积更小,更通用)Inversify.jsCreateJS,Phaser(游戏开发框架)、Egret(白鹭)、微信小游戏
PreloadJS(预加载资源)SoundJS(音频资源的加载和播放)matter.js、p2.jsbrian.js、TensorFlow.js(深度学习框架)Johnny-Five