NodeJS 为什么我在使用const时得到了不赞成使用的名称,我尝试使用let,但也不起作用

ttisahbt  于 2022-12-03  发布在  Node.js
关注(0)|答案(1)|浏览(150)

每次我尝试运行我的代码时,我都会得到一个名称过时的错误。我不知道我在哪里犯了错误,所以我上传了我的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]})
});
})
qyswt5oh

qyswt5oh1#

变量'name'已经存在于窗口对象的顶层(“全局作用域”),尽管它已被弃用。如果您在函数中声明相同的变量,您将看到该错误消息将消失。
如果你想在全局范围内使用它,你应该将它重命名为更具体的名称。或者,你可以使用JavaScript模块,它们在自己的范围内执行。
https://developer.mozilla.org/en-US/docs/Web/API/Window/name

相关问题