Обновление даты
Добрый вечер, начал изучать node js написал такой код:
var express = require('express'); //подключил модуль express var app = express(); var moment = require('moment'); // подключил модуль для работы с датой //создал в папке views файлик test.ejs app.set('view engine', 'ejs'); //функция для отображения даты var dateTime = function () { moment.locale('ru'); day = moment().format('L'); time = moment().format('LTS'); return day + ' ' + time; }; // передаю результат функции в файлик test.ejs app.get('/', function (req, res) { res.render('newshtml', {date: dateTime()}); }); app.listen(3000); //порт 3000 // в файлике такая строка <body> <div><%= date %></div> </body> Все замечательно на сейте выводится текущая дата. Теперь сам вопрос, а как сделать чтобы дата обновлялась? В консоль я могу вывести так и все работает: setInterval(function () { console.log(dateTime()); },1000); А как передать в test.ejs внутрь <div>? |
Разобрался я. Подключаем модуль ws:
const WebSocketServer = require('ws').Server; webSocketServer.on('connection', function(ws){ var timer = setInterval(function(){ ws.send(dateTime()); }, 1000); console.log("клиент подключился"); ws.on('close', function(){ console.log('клиент отключился'); clearInterval(timer); }); }); const dateTime = function () { moment.locale('ru'); day = moment().format('L'); time = moment().format('LTS'); return day + ' ' + time; }; |
Часовой пояс GMT +3, время: 03:39. |