gpt4 book ai didi

javascript - 如何将变量从路由传递到 server.js

转载 作者:行者123 更新时间:2023-12-03 04:27:13 25 4
gpt4 key购买 nike

我在将当前数据发送到新的套接字连接时遇到问题。我有一个包含当前代码的 server.js 文件:

服务器.js:

// Importing and initializing npm/node plugins
var app = require('express')();
var server = require('http').createServer(app);

// Import config settings
var config = require('./config.js');

// Create socket server and allow connections from certain ip
var io = require('socket.io')(server);
io.set('origins', 'http://' + config.url + ':' + config.client_http_port);


app.use(require('./routes/index.js'));


// Create mongoDB connection
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://' + config.url + '/' + config.database_name);

// Inform new socket connections
io.on('connection', function (socket) {
console.log('Client connected!');
setTimeout(function () {
// socket.emit('variable comes here'); <------------
}, 3000);
});

// Open server in port
server.listen(config.server_port, function () {
console.log('Server listening on port: ' + config.server_port);
});

module.exports = app;

在我的 index.js 路由中,我有一个变量,我想将其传递给 server.js 并从那里传递给新的套接字连接。如何将变量从路由index.js导入到服务器文件server.js?

index.js:

// Importing and initializing npm/node plugins
var express = require('express');
var router = express.Router();

var data = {test:'data123'}; // <--------- this one

module.exports = router;

最佳答案

如果您的数据对象是静态的,那么您可以在 index.js 中导出它,并在 server.js 中导入它

如果生成或获取(异步)数据对象,则必须创建从 server.js 调用并返回 data 值的 getter 函数。但请注意,数据可能会未定义,因此在获取对象后请检查。

动态数据的另一个解决方案是创建异步获取数据的函数,然后调用 server.js 中提供的回调,

关于javascript - 如何将变量从路由传递到 server.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43652627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com