如何导出模块和variables

我工作传感器代码,当一个对象是一定的边界它应该发出('enterProximity'),所以当这段代码运行

main.js

var entered = require('./main').onProximityBoolean io.on('connection', function(socket) { setInterval(function() { console.log("entered index " + entered); var here = entered.onProximityBoolean; if (here == true) { socket.emit('enterProximity'); } },1000); } 

在这个代码中,当main.js中的“enter”为真时,“here”应该等于true

 enter = false function onProximityBoolean(enter) { console.log(enter + " emit entered"); return enter; } module.exports = { withinBounds: withinBounds, onProximityBoolean: onProximityBoolean(enter) }; 

而是像这样打印

View post on imgur.com

我如何到这里不断地重新分配?

你的module.exports返回onProximityBoolean(undefined)的值,而不是函数本身。

如果你改变你的module.exports这个

 module.exports = { withinBounds: withinBounds, onProximityBoolean: onProximityBoolean, }; 

然后你的跑步者来这个:

 var entered = require('./main').onProximityBoolean io.on('connection', function(socket) { setInterval(function() { console.log("entered index " + entered); var here = entered.onProximityBoolean(entered); if (here == true) { socket.emit('enterProximity'); } },1000); } 

这是否解决了你的问题? 改变是要确保onProximityBoolean是一个函数,并且每次在你的setInterval循环中调用函数。