当前位置 : 主页 > 网页制作 > Nodejs >

如何从node.js中的其他模块访问app变量?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我需要使用express 2和node 0.8访问app.js中声明的变量;我有以下代码: app.js------[.....]var server = app.listen(3000);var io = require('socket.io');io.listen(server);exports.io=io;module.js----------var app=require("./app
我需要使用express 2和node 0.8访问app.js中声明的变量;我有以下代码:

app.js
------
[.....]
var server = app.listen(3000);
var io = require('socket.io');
io.listen(server);
exports.io=io;

module.js
----------
var app=require("./app");
console.log(app.io);

但app.io未定义……我做错了什么?

如果在app.js中设置exports.io旁边添加console.log,则可能在console.log(app.io)在module.js中运行后发生.

相反,为了更好地控制顺序,您可以在module.js中导出init函数,并从app.js调用它.

module.js

var io = null;
exports.init = function(_io) {
  io = _io;
}

app.js

var server = app.listen(3000);
var module = require('./module')
var io = require('socket.io');
io.listen(server);
module.init(io);
网友评论