将 jQuery 翻译成 Express 函数

Translate jQuery to Express function

几个小时以来,我一直在尝试在我的网站上显示时钟,我使用的是 express js 和 pug,我的功能会显示时间,但它不会循环执行其次,在 jquery 中,它非常适合我。

Jade、Pug、Express JS、Node JS

哈巴狗 + jQuery

script.
      function update(){
        $('#clock').html(moment().format('MMMM D, YYYY H:mm:ss a'));
      }
      setInterval(update, 1000)

快递JS app.js

app.get('/', (req, res) => {
    res.render('index', { mensaje: moment().format('MMMM Do YYYY, h:mm:ss a')});
});

Index.pug

.col-md-6
  span#clock.clock 
.col-md-6
  p= mensaje

感谢您的帮助。

好吧,如果我理解你说的话:你想使用 express + pug 制作一个时钟,并期望与你使用 pug + jquery 时相同的行为。

它们的工作方式不同。

使用 express,您正在做一个网络服务器,它正在侦听请求并给出响应。当您发出请求时,它只会发送新的响应(更新的数据)。 Jquery 在客户端,因此您可以轻松地使用新数据刷新视图。

因此,如果您想继续使用 express,您应该考虑使用 websocket,以便 express 能够将连续数据发送到您的视图。或者,每秒发出一次请求(这不是性能方面的最佳方式,可能不适合渲染方法)。

通常显示非常通用的东西(如时钟)的最佳方式是在客户端进行,因此您的 jquery 方法在您的情况下是最好的(在我看来)。