【发布时间】:2020-04-21 10:02:54
【问题描述】:
我的快速申请有点卡住了。
我在路由文件夹中有一个文件 index.js,我想保存 mydata
的结果var express = require('express');
var router = express.Router();
router.get('/', token, function(req, res, next) {
var mydata = req.userId
res.render('index', {
title: 'Welcolme',
});
});
module.exports = router;
而且,在我的另一个文件(取决于 app.js)中,我想获取 mydata 并将其传递给服务器
var app = require('../app');
server.listen(port, function () {
require('../assets/js/server/socket')(server, mydata);
});
(这是我的 app.js)
var express = require('express');
var indexRouter = require('./routes/index');
var path = require('path');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'twig');
app.use('/', indexRouter);
module.exports = app;
还有套接字文件
var io = {};
module.exports = (server, mydata) => {
console.log('Hello : ' , mydata)
io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('Connected')
});
};
有没有办法做到这一点?
谢谢你:)
【问题讨论】:
-
您的 app.js 长什么样,为什么要将 userId 传递给依赖 app.js 的其他文件?
-
用户 id 是令牌的一部分,我需要它,它让我知道我将在哪个数据库上使用 socketio 端
-
你能告诉我们socket.js中的代码吗?另外,为什么不一起在 app.js 中启动服务器,而是在单独的文件中启动服务器呢?只是有点困惑。
-
是的,你是对的,但是代码很长(这就是我分开文件的原因),我只放了关键部分以提高可读性:))
-
好的,我知道了。让我在答案中添加我的潜在解决方案