为什么 DayJs 导致网站冻结而不加载?

Why is DayJs Causing Site to Freeze and Not Load?

所以,我有一个需要 day.js 的站点,我在以前的站点上有过一些经验,它运行良好,加载速度很快。但是,一旦我尝试在新网站上使用它,它就会导致我的网站冻结。我试过使用 deferasync 但它就是行不通。我用了本地文件,还是不行。我使用了 Chrome DevTool 的网络面板,它说所有内容都发送了一个 200 OK 响应,所以我不知道该怎么做。

let start=dayjs().startOf("day").add(2,"day")
while(start.$d!=0){start=start.subtract(1,"day")}
document.write(start)
<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width">
 <title>repl.it</title>
 <script src="https://unpkg.com/dayjs@1.8.21/dayjs.min.js" async></script>
 <link href="https://fonts.googleapis.com/css?family=Montserrat:400,500,600" rel="stylesheet">
 <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
 <script src="script.js"></script>
</body>
</html>

这里有演示,这里也不会加载。最后,它只是说页面没有响应,等待或关闭它。

问题是 属性 $d 是日期字符串,类似于 Sun May 02 2021 00:00:00。我认为您正在寻找 $D,也就是日期,例如 4。此外,您等到日期为 0,但这不会发生,因为日期从该月的第一天开始。您可以改为执行 start = start.date(1),这会在不使用循环的情况下立即将日期设置为 1。

可以找到官方文档here