原由
起初是在WSL
中开发一个动态博客我的项目,想要偷个懒,想间接通过fs.stat()
获取文件的创立工夫来生成文章的工夫线排序,包含更新工夫
不对劲
当我更改了一个md
文件的内容时,我发现工夫线发生变化了,我是通过(await fs.stat(filePath)).birthtimeMs
获取文件创建工夫的,然而我发现这个值居然在我改变过文件后变动了,变成了我扭转文件的工夫戳,白丝不の七姐(bushi)
找起因
各种让我一通找之后,发现是WSL
下的文件系统的问题,具体能够查看github
上他人19年的时候提的一个issue
:stat.birthtime is incorrect under WSL · Issue #30860 · nodejs/node (github.com),起因就是没有实现这个货色,而后就默认返回你mtime
了
通过stat
命令一查看,我惊呆了,文件的Birth
居然是-
,你没看错就是一个杠
Size: 2477 Blocks: 8 IO Block: 4096 regular fileDevice: 810h/2064d Inode: 148374 Links: 1Access: (0644/-rw-r--r--) Uid: ( 1000/ ldl) Gid: ( 1000/ ldl)Access: 2021-11-08 16:35:59.405414600 +0800Modify: 2021-10-28 09:36:18.918000000 +0800Change: 2021-10-28 09:36:18.913397200 +0800 Birth: -
自己测试在win上的是失常的。
总结
还是老老实实在win
上开发吧,gym!