你不需要Moment.js

原文信息: 查看原文查看原文

You don't (may not) need Moment.js

- Eevee

各npm包大小对比

Moment.js究竟有多大?看下上图它和其它时间相关类库的对比就知道了。

Moment.js有几个问题:

  • 高度依赖于面向对象API,让它不能使用tree-shaking,这导致它体积大和性能方面的问题。
  • 是可变的,且易产生bug。
  • 复杂的面向对象API(加倍了可变的问题)。

如果你不使用时区,只是使用moment.js几个简单的函数,会让你的应用变得很大。dayjs有简单的核心,且API也很简单,所以很容易整合。date-fns支持tree-shaking和其他特性,在ReactSinon.jsWebpack等工作的更好。

想要了解更多为什么及如何将moment.js切换成其他类库的方案,详见此ISSUE

文中最大的亮点,是将moment.js中主要的API与其他类库做了详细的对比,也展示了每个API的执行效率对比。强烈建议阅读原文。

分享于 2020-02-20

访问量 1309

预览图片