用express在node.js开发一个socket.io聊天服务器,app.js出现的文件路径问题

发布于 2022-09-07 03:28:52 字数 1172 浏览 26 评论 0

终端报错:Path must be a string. Received null

clipboard.png

感觉上是 __dirname的问题,但是我改成相对路径后还是报错,求大神指导一下刚学node的小白,感激不尽~

app.js下:

var app = require('express').createServer(),
    io = require('socket.io').listen(app);

app.listen(1111);

app.get('/',function(req,res){
    res.sendfile(__dirname+'/index.html');

});

io.sockets.on('connection',function(socket){
    socket.emit('welcome',{text:'hello world!'})
})

index.html下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>socket.io  chatting!</title>
    <script src="/socket.io/socket.io.js"></script>
</head>
<body>
    <h1>let's chatting~</h1>
    <script>
     var socket = io.connect();
     socket.on('welcome',function(data){
         console.log(data.text);
     })
    </script>
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木格 2022-09-14 03:28:52

res.sendfile(__dirname+'/index.html');

path 路径不要使用绝对路径,如果你想要使用绝对路径就使用options配置项的root进行配置

比如:

 var options = {
    root: __dirname + '/',
  };
res.sendFile('index.html', options);

或者直接实现相对路径

res.sendFile('/index.html');

你可以试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文