根据工作中遇到的场景总结了一些JavaScript中常用的工具库和解决方案。本文很大一部分参考了字节大佬大史不说话的书籍《前端跨界开发指南》。非常适合当工具书,已经入手收藏了。
前端常用库、方案
loadsh
moment.js
(时间格式化、计算时间差)、day.js
、date-fans
(支持按需引入,函数式编程)xlsx
(json与excel互相转换)、xlsx-populate
(excel各种操作,支持样式改变)vue-i18n
Mockjs
:模拟数据接口返回,可以用在浏览器环境和node端,支持自定义扩展(升级版接口管理工具rap2
,json schema
,实现原理其实就是模板语法)node
:前端工程化,中间层,ssr渲染,协作链接(BackstopJS
UI自动化回测、DocLever
或Rap2
搭建API平台、提供日志)ESLint
、Prettier
Ramda.js
easel.js
:canvas api js化操作YUIdoc
:根据jsdoc风格的注释生成文档Echart.js
、D3.js
:可视化工具库。D3.js
偏低层snap.svg
:svg操作库,类似jqueryImpress.js
,Reveal.js
Velocity.js
(js复杂动画),animate.css
(css简单动画)tween.js
,jQuery Easing Plugin
(velocity.js
)Recoeder.js
video.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终端)pm2
node-ssh
(promise封装,更通用的ssh2模块)archiver.js
(promise封装)lonic框架
,RN框架
(适合团队合作,需要原生专家参与),小程序
protobuf.js
(消息体积更小,更通用)Inversify.js
CreateJS
,Phaser
(游戏开发框架)、Egret
(白鹭)、微信小游戏
PreloadJS
(预加载资源)SoundJS
(音频资源的加载和播放)matter.js
、p2.js
brian.js
、TensorFlow.js
(深度学习框架)Johnny-Five