我需要使用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
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);