工具类

DOM相关

  • fastdom这是一个专门用来批量读/写DOM属性的库,用于解决读/写DOM属性所带来布局抖动或其它类似的开销;其原理很简单,代码也很少,推荐直接阅读源码;fastdom通过将读和写任务分别存到不同的任务队列中,并通过rAF(requestAnimationFrame)函数在下一帧执行相应的任务,且先批量执行读任务再批量执行写任务(这个顺序很重要);很明显,这种操作会把DOM读写操作改成异步任务(其实也就是下一帧),而不会阻塞当前帧的操作;不过如果批量的读写次数过多时,在下一帧执行时仍然会造成线程阻塞……

手撸脚手架包

  • semver可以比较npm包版本号
  • chalk命令行颜色高亮
  • fs-extrafs-extra模块是系统fs模块的扩展,提供了更多便利的 API,并继承了fs模块的 API
  • download-git-repo一个用于下载git仓库的项目的模块
  • ora这个模块用于在终端里有显示载入动画
  • inquirer 一个用户与命令行交互的工具
  • commandernode.js命令行界面的完整解决方案,比如vue-cli就用的这个命令行
  • slashwindows 反斜杠路径 转换
  • minimistminimist 是一个专门用于处理Node.js启动参数的库,可以将 process.argv 中的参数列表转换成更加易于使用的格式:

项目模板

vue-cli模板github地址

参考链接

nodejs交互工具库系列