每次我尝试运行我的代码时,我都会得到一个名称过时的错误。我不知道我在哪里犯了错误,所以我上传了我的client.js和index.js文件。这是我的Visual Studio提供的。const名称:(17642,5)在这个文件夹中,您可以找到一个新的文件夹。声明在此处标记为已弃用。
client.js
const socket = io('http://localhost:8000');
const form = document.getElementById('send-container');
const messageInput = document.getElementById('messageInp');
const messageContainer = document.querySelector(".container");
const name = prompt("Enter your name to join:");
socket.emit('new-user-joined',name)
Index.js
//node Server which will handle socket io connection
const io = require('socket.io')(8000)
const users ={};
io.on('connection',socket => {
socket.on('new-user-joined', name => {
console.log("New user" ,name)
users[socket.id]= name;
socket.broadcast.emit('user-joined',name);
});
socket.on('send', message =>{
socket.broadcast.emit('receive',{message: message, name: users[socket.io]})
});
})
1条答案
按热度按时间qyswt5oh1#
变量'name'已经存在于窗口对象的顶层(“全局作用域”),尽管它已被弃用。如果您在函数中声明相同的变量,您将看到该错误消息将消失。
如果你想在全局范围内使用它,你应该将它重命名为更具体的名称。或者,你可以使用JavaScript模块,它们在自己的范围内执行。
https://developer.mozilla.org/en-US/docs/Web/API/Window/name