插座不';不行。我正在尝试使用pug模板在node.js中构建一个评论系统,但是socket.io没有';似乎工作不正常

插座不';不行。我正在尝试使用pug模板在node.js中构建一个评论系统,但是socket.io没有';似乎工作不正常,node.js,express,sockets,socket.io,pug,Node.js,Express,Sockets,Socket.io,Pug,插座在帕格中不起作用。当我声明var socket=io()时;在script标记中,它不工作,但当我在broadcastComment函数中声明它时,它工作,但现在作为它的局部变量,socket.on函数不工作。是否有任何方法可以在脚本中正确声明套接字变量 服务器端:- const server = application.listen("3000", ()=>{ console.log("server started"); });

插座在帕格中不起作用。当我声明var socket=io()时;在script标记中,它不工作,但当我在broadcastComment函数中声明它时,它工作,但现在作为它的局部变量,socket.on函数不工作。是否有任何方法可以在脚本中正确声明套接字变量

服务器端:-

const server = application.listen("3000", ()=>{
    console.log("server started");
});     
let io = require('socket.io')(server)
io.on('connection',(socket)=>{
    console.log(`New Connection: ${socket.id}`)
    // Recieve event 
    socket.on('comment',(data)=>{
        console.log(data)
        data.time = Date()
        socket.broadcast.emit('comment',data)
    })
})
客户端:-

script.
var socket = io();
function broadcastComment(data){
//socket works if i declare here var socket = io();
socket.emit('comment',data)
}
        
socket.on('comment',(data)=>{
appendToDom(data)
})
如果我声明var socket=io();在函数broadcastComment中,它可以工作,但是socket.broadcast.emit不能工作

服务器端的输出(当我声明var socket=io();inside broadcastComment()时):

新连接:byFVY8KAa6sNx0p6AAAA {username:'niraj',usertype:'developer',comment:'xcvx'}