【发布时间】:2021-03-04 10:54:52
【问题描述】:
我想在我的控制器中实现 socket.io。我该怎么做?我有以下设置
index.js
const express = require('express');
const bodyParser = require('body-parser');
const http = require('http');
const app = express();
const cors = require('cors');
const morgan = require('morgan');
const router = require('./router/router');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors());
app.use(morgan('combined'));
router(app);
// Server setup
const port = process.env.PORT || '8000';
const server = http.createServer(app);
server.listen(port);
console.log(`>~~~~~~~~~~~~~< Server Listening on Port - ${port} >~~~~~~~~~~~~~~<`);
路由器.js
const controller = require('../controller/controller');
module.exports = app => {
app.get('/greeting', controller.greeting);
}
controller.js
module.exports = {
greeting(req, res, next){
res.send({greeting: "Hello World!"});
}
}
有没有办法将以下方法放入控制器文件并使用路由器文件中的路由访问它?
io.on('connection', function(socket){
socket.on('message', function(msg){
io.emit('message', msg);
});
});
我不想让我的 index.js 文件乱七八糟。
【问题讨论】:
标签: javascript node.js express sockets socket.io