官方已经不推荐使用 Moment.js,我制作了一个表方便大家迁移到新库上!

2020-09-19 00:18:15 +08:00
 Cyanhall

链接:Javascript 日期时间速查表

希望能对大家有帮助 :)

4799 次点击
所在节点    分享创造
28 条回复
tanranran
2020-09-19 00:36:25 +08:00
做得非常好,感谢楼主的分享
EPr2hh6LADQWqRVH
2020-09-19 00:56:17 +08:00
人家在哪说不推荐使用了
noqwerty
2020-09-19 02:30:29 +08:00
@avastms 楼主文章点进去第一句话就是链接
qiayue
2020-09-19 05:58:24 +08:00
这种交互形式很好,感谢楼主
iConnect
2020-09-19 06:13:32 +08:00
day.js 作者 iamkun 是饿了么那位大牛的作品吗?
jwenjian
2020-09-19 06:24:13 +08:00
@avastms

We recognize that many existing projects may continue to use Moment, but we would like to discourage Moment from being used in new projects going forward. Instead, we would like to recommend alternatives that are excellent choices for use in modern applications today.
Cbdy
2020-09-19 06:45:50 +08:00
作为一个 umd 用户,dayjs 官方打出来的 umd 包不能再 esmodule 中用(依赖的 rollup 版本太老),date-fns 压根不提供官方 umd 包。luxon 大小跟 moment 不遑多让了。还是先用着 proposal-temporal 的 polyfill 吧
37Y37
2020-09-19 07:36:49 +08:00
写的很棒,感谢分享!
precisi0nux
2020-09-19 08:44:24 +08:00
非常好
musi
2020-09-19 09:15:31 +08:00
移动端访问也太不友好了
Cyanhall
2020-09-19 09:25:44 +08:00
@musi 刚刚也发现了,优化了一下,现在应该好一些了
shadeofgod
2020-09-19 13:10:23 +08:00
进入维护期并不等于不推荐使用,开新项目确实可以用其他的,但旧的项目并没什么必要迁移
iamkun
2020-09-19 13:25:22 +08:00
@Cbdy 请问下 Day.js 具体是什么问题呢,我来修复一下
ck65
2020-09-19 13:58:11 +08:00
一年前手里的项目逐渐只用 Day.js 了,很稳。
Cbdy
2020-09-19 14:55:45 +08:00
@iamkun dayjs 在 npm 上提供了一个 umd 的包,在前端使用<script type="module"> import 的话,会报一个类似于找不到 this 的错误。原因是 js 代码以 esmodule 在浏览器执行,上下文的 this 是 undefined,要换成 globalThis 或者 window,是 rollup 打包的问题,参考这个 issue: https://github.com/rollup/rollup/issues/3666
iamkun
2020-09-19 15:26:28 +08:00
@Cbdy 好的 下个版本会修一下
des
2020-09-19 15:32:12 +08:00
希望加上兼容性表格,我记得 luxon 对 ie9 和 8 支持不太好
Cyanhall
2020-09-19 17:59:48 +08:00
@des date-fns 和 luxon 似乎没有明确说明浏览器的兼容性。luxon 使用的 Intl 对象,会导致兼容性比较差,且在包大小方面也没有优势,故没有列出来。

参考: https://caniuse.com/?search=Intl
Cbdy
2020-09-20 11:45:08 +08:00
@iamkun 👍
azh7138m
2020-09-21 00:14:19 +08:00
@iamkun
hhhh
dayjs 的 esm 输出也不对,标注了 pure
然后很多插件是直接修改原型的
过 uglify/terser 之后就会炸裂
比如 https://cdn.jsdelivr.net/npm/dayjs@1.8.36/esm/index.js



在字节的时候做了个体积优化,是把 luxon 换成了 dayjs
实际体验并不太好,主要为
- unit 上有 day/date 非常让人迷惑,有的 api 上两个单位的语义相同,有的 api 上语义不同
- 不同 api 上 unit 在的位置不同,风格并不统一
- 构造时间的 api 太少了,我还是需要注意 0-base 的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/708443

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX