Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在node.js中跨文件共享变量而不使用全局变量大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将我的socket.io代码分离到我的主文件(app.js)中的单独文件(socket.js).但是,我需要在app.js中定义我的io对象,这也用在我的socket.js文件中.

目前,我将io设置为全局变量,因此可以从app.js(Global Variable in app.js accessible in routes?)访问它,但我知道这是不好的做法.有没有更好的方法来做到这一点(在这种情况下可以注入工作,因为我需要将变量从app.js导出到socket.js而不是相反)?谢谢!

app.js

var app = express(),server = require('http').createServer(app);

//KIV -> io is set as a global variable
io = require('socket.io').listen(server);
require('./socket');

socket.js

io.sockets.on('connection',function(socket) {
    //xxx
}

解决方法

app.js

var app = express(),server = require('http').createServer(app),socket = require('./socket');

var io = require('socket.io').listen(server);

socket(io)

socket.js

@H_70_11@module.exports = function (io) { io.sockets.on('connection',function(socket) { //.. } }

大佬总结

以上是大佬教程为你收集整理的在node.js中跨文件共享变量而不使用全局变量全部内容,希望文章能够帮你解决在node.js中跨文件共享变量而不使用全局变量所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。