Я пытаюсь немного модулировать свой серверный код с помощью CommonJS Modules.Пока это мой модуль с функцией в motorDriver.js
файле:
var rpio = require('rpio');
function motorDriver() {
this.makeStep = function(pin) {
rpio.open(pin, rpio.OUTPUT, rpio.LOW);
/* On for 1 second */
rpio.write(pin, rpio.HIGH);
rpio.sleep(data.interval);
/* Off for half a second (500ms) */
rpio.write(pin, rpio.LOW);
}
}
module.exports = motorDriver;
Затем я пытаюсь импортировать его и использовать его так же, как в server.js
:
var motorDriver = require('./motorDriver');
io.on('connection', function (socket) {
var motor = motorDriver()
socket.on('make step', function () {
console.log("Make Step");
motor.makeStep(40)
});
});
Когда я запускаю этот разъем нажатием кнопки, я получаю сообщение об ошибке:
TypeError: Cannot read property 'makeStep' of undefined
at Socket.<anonymous> (/Users/gov-sur/Documents/CamSlider/server.js:38:15)
at Socket.emit (events.js:182:13)
at /Users/gov-sur/Documents/CamSlider/node_modules/socket.io/lib/socket.js:528:12
Кто-нибудь знает, что я делаю неправильно или где лежит мое понимание мисс?
Заранее спасибо!