0

    Moment.js 文档

    2023.08.16 | admin | 107次围观

    Moment.js 已成功用于数百万个项目,我们很高兴为让网络上的日期和时间变得更好做出贡献。截至 2020 年 9 月,Moment 每周的下载量超过 1200 万次! 然而,Moment 是为 JavaScript 生态系统的前一个时代而构建的。如今,现代网络看起来大不相同。 多年来,Moment 有所发展,但它的设计与 2011 年创建时的设计基本相同。考虑到有多少项目依赖它,我们选择将稳定性优先于新功能。

    例如,考虑 Moment 对象是可变的。 这是有关 Moment 的常见投诉来源。我们 解决了这个问题,但它仍然让大多数新用户感到惊讶。将 Moment 更改为不可变对于使用它的每个项目来说都是一个重大变化。创建一个不可变的 "Moment v3" 将是一项艰巨的任务,并且会使 Moment 成为一个完全不同的库。由于这已经在其他库中完成,我们认为保留可变 API 更为重要。

    在现代应用中反对使用 Moment 的另一个常见参数是它的大小。 Moment 不适用于现代 "摇树优化" 算法,因此它往往会增加 Web 应用包的大小。如果需要国际化或时区支持,Moment 会变得很大。 现代网络浏览器(和 Node.js)通过编码为 的 对象公开国际化和时区支持。 像 (和其他)这样的库利用了这一点,减少或消除了传送你自己的数据文件的需要。

    最近,Chrome Dev Tools 仅针对尺寸 。 我们普遍支持这一举措。

    你可能还想阅读:

    Moment 团队对这些问题进行了详细讨论。 我们认识到许多现有项目可能会继续使用 Moment,但我们不希望在未来的新项目中使用 Moment。相反,我们希望 是当今现代应用中使用的绝佳选择。我们还想推广 JavaScript 语言的 补充,它正在寻找反馈和贡献者。

    我们现在普遍认为 Moment 是一个处于维护模式的旧项目。 它没有死出现未结束字符串常量错误,重装浏览器能解决吗,但确实已经完成了。

    实际上,这意味着:

    具体关于 Moment 的国际化语言环境文件:

    然而,由于我们了解到 Moment 在数百万现有项目中得到了很好的应用:

    Moment.js 文档

    继续使用 Moment 的原因

    在大多数情况下,你不应该为新项目选择 Moment。 但是,出于某些可能的原因,你可能希望继续使用它。

    浏览器支持

    Moment 在 Internet Explorer 8 及更高版本上运行良好。 相比之下,Luxon 仅适用于 IE 10 及更高版本,并且需要 polyfill 才能这样做。

    其他库也存在与 Safari 相关的问题,尤其是在移动设备上。 如果你强烈要求支持旧版浏览器,那么你可能希望坚持使用 Moment 更长时间。

    但是,Day.js 报告了与 IE8 及更高版本的兼容性,所以你仍然可能希望考虑替代方案。

    其他库的依赖

    其他几个库,尤其是日期选择器和图形库,将 Moment 作为依赖。 如果你正在使用这样的组件并且找不到替代品,那么你已经在你的项目中包含了 Moment。因此出现未结束字符串常量错误,重装浏览器能解决吗,在整个项目中继续使用 Moment 而不是包含另一个日期和时间库可能是有意义的。

    熟悉程度

    如果你是 Moment 的长期用户,你可能已经很好地了解它的 API 和限制。 如果是这样,并且上述问题不是你关心的问题,那么你当然可以继续使用它。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论