如何导出模块和变量

时间:2017-06-27 17:24:07

标签: javascript node.js

我正在处理传感器代码,当一个对象是它应该发出的某些边界时(' 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 = false
function onProximityBoolean(enter) {
      console.log(enter + " emit entered");
      return enter;
}

module.exports = {
  withinBounds: withinBounds,
  onProximityBoolean: onProximityBoolean(enter)
};

但是它打印得像这样

http://imgur.com/a/usUnD

我如何到这里继续重新分配?

1 个答案:

答案 0 :(得分:1)

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

如果您将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循环中调用该函数。