【发布时间】:2022-01-10 22:59:19
【问题描述】:
我正在使用 NodeJs 和 Express 创建一个服务器,但我发现如果我想使服务上线,我需要使用 Socket.io。在这个服务器中,有一些服务不需要实时,这些都是使用快速路由来实现的。这是经过测试并且可以正常工作的。现在我必须让一些服务生效。所以,我想我也应该在我的服务器配置中实现 socket.io。这是我没有 socket.io 的代码,运行良好:
const express = require('express');
const morgan = require('morgan');
const cors = require('cors');
const mongoose = require('mongoose');
require('dotenv').config();
const app = express();
const port = process.env.port || 5050;
app.use(morgan('dev'));
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended:true }));
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, {useNewUrlParser:true});
const connection = mongoose.connection;
connection.once('open', () => console.log('Connected'));
const routes = require(#every routes);
app.use(routes);//all created routes
app.listen(port, () => {console.log(`Server listening on port ${port}`)});
现在,我应该正确导入 socket.io。完成后,我想我可以正确地找出热来实施我的服务。因此,我尝试添加行 const io = require('socket.io').listend(app),正如我在另一个 stackoverflow 问题中看到的那样,但终端显示此错误:
const io = require('socket.io').listend(app)
^
TypeError: require(...).listend is not a function
所以,我不知道如何整合这两者。我不知道是否值得使用同一个端口,或者我是否应该为套接字使用另一个端口,但我认为同一个端口会很好。如果有人知道如何在我当前的代码中实现 socket.io,或者知道如何同时保留这两种功能,请帮助我。非常感谢
【问题讨论】:
标签: node.js express sockets socket.io