JS运用技能2——momentjs太重了吗?尝尝dayjs和miment吧

关于时候的操纵,一直在运用momentjs这个库。轻易灵活,功能强大。唯一的瑕玷是,关于前端HTML来说,它的包太太太太太大了。

我是momentjs的重度用户,但它的大小时候都在折磨人。虽然轻易高效,可这动辄200K的大小,关于首页加载速率来说险些就是一场灾害。所以,开源社区有了一些精简的计划。如dayjsmiment

dayjs

《JS运用技能2——momentjs太重了吗?尝尝dayjs和miment吧》

dayjs自身就是对标momentjs举行开辟的,看作者的官方引见:

Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.

它的用法异常简朴。

dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');

是否是很momentjs很类似?不,实在它们就是如出一辙的。dayjs的API和moment险些如出一辙,所以假如想要替换到现有的momentjs代码,直接替换为dayjs即可,挪用语句绝大部分情况下能够一字不改。

dayjs的大小有若干呢?2KB。再想一想momentjs的大小。

miment

miment一样也是一个极简的时候处置惩罚库,紧缩后的代码以至达到了1KB摆布,比dayjs还小。

与包大小响应的,作者团队只保留了momentjs中中心要领,但实在这些要领在一般场景下已充足。

miment的运用要领,也和momentjs基础一致。比方:

miment().add(1, 'YYYY').add(2, 'MM').add(-3, 'DD') // 增添 1 年 2 个月又减回 3 天

miment().isBetween('2000-01-01','2020-01-01') // true

miment().isBefore('2000-01-01') // false

miment().format('YYYY年MM月DD日 礼拜ww') // 2018年04月09日 礼拜1 *周日对应礼拜0*

想要获得零丁的年月日,更简朴

miment().format('YYYY') // 2018
miment().format('MM') // 04
miment().format('DD') // 09
miment().format('hh') // 23
miment().format('mm') // 57
miment().format('ss') // 16
miment().format('SSS') // 063
miment().format('ww') // 1
miment().format('WW') // 一

结语

关于momentjs,大部分开辟者都是又爱又恨,又或许大觉不爱。实在关于绝大部分的时候操纵场景,dayjs和miment更相符运用请求。特别关于非SSR的场所,想一想那精简近200KB的首屏衬着速率,真的是异常有吸引力。

    原文作者:一光年
    原文地址: https://segmentfault.com/a/1190000017517737
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞