首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有快递和socket.io的节点js -无法查找socket.io.js

具有快递和socket.io的节点js -无法查找socket.io.js
EN

Stack Overflow用户
提问于 2021-11-29 14:11:30
回答 2查看 184关注 0票数 0

所以,基本上,我要做的是用登录系统构建一个聊天应用程序,但由于某种原因,我无法将它放在一起,当我加入房间时,chat.hbs找不到socket.io.js文件,main.js也收到了const =io()的引用错误;(没有登录系统,聊天应用程序运行良好)

代码语言:javascript
复制
Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught ReferenceError: io is not definedat main.js:11

这是app.js文件

代码语言:javascript
复制
const express = require("express");
const path = require('path');


const http = require('http');
const socketio = require('socket.io');





const app = express();




const server = http.createServer(app);
const io = socketio(server);

const botName = "Bot";
app.use(express.static(path.join(__dirname, 'public')));

app.use(express.urlencoded({ extended: false }));
// Parse JSON bodies (as sent by API clients)
app.use(express.json());
app.use(cookieParser());

app.set('view engine', 'hbs');




  


//eldönti az útvonalat
app.use('/', require('./routes/pages'));
app.use('/auth', require('./routes/auth'));

app.listen(5001, () => {
  console.log("Server started on Port 5001");
})

这是main.js

代码语言:javascript
复制
const chatForm = document.getElementById('chat-form');
const chatMessages = document.querySelector('.chat-messages');
const roomName = document.getElementById('room-name');
const userList = document.getElementById('users');

// Felhasználó név és szoba név URL-ből
const { username, room } = Qs.parse(location.search, {
  ignoreQueryPrefix: true,
});

const socket = io();

// Csatlakozik chat szobába
socket.emit('joinRoom', { username, room });

// Lekérdezi a szobát felhasználókat
socket.on('roomUsers', ({ room, users }) => {
  outputRoomName(room);
  outputUsers(users);
});

和chat.hbs

代码语言:javascript
复制
<script src="/socket.io/socket.io.js"></script>
<script src="/main.js"></script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-30 17:38:58

问题是我用:

代码语言:javascript
复制
app.listen(5001, () => {
console.log("Server started on Port 5001");
})

而不是:

代码语言:javascript
复制
server.listen(5001, () => {
console.log("Server started on Port 5001");
})
票数 1
EN

Stack Overflow用户

发布于 2021-11-30 17:52:09

Szia,您需要等待DOM加载。

代码语言:javascript
复制
window.addEventListener('load', function () {   

  // Your code goes here
  const socket = io();

  socket.on("connect", () => {
    // you can only emit once the connection is established.
    socket.emit('joinRoom', { username, room });
  });

})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70156093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档