首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SocketIO中使用CommonJS导出和导入?

如何在SocketIO中使用CommonJS导出和导入?
EN

Stack Overflow用户
提问于 2019-05-05 18:28:33
回答 1查看 117关注 0票数 0

我正在尝试用CommonJS模块来模块化我的服务器端代码。到目前为止,这是我的模块,在motorDriver.js文件中有一个函数:

代码语言:javascript
复制
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中像这样使用它

代码语言:javascript
复制
var motorDriver = require('./motorDriver');

io.on('connection', function (socket) {
    var motor = motorDriver()

    socket.on('make step', function () {
        console.log("Make Step");
        motor.makeStep(40)
    });
});

当我按下按钮触发这个插座时,我得到了错误:

代码语言:javascript
复制
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

谁知道我做错了什么,或者我的理解错误在哪里?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-06 19:04:18

在导出整个模块时,我只是单独导出了每个函数:

代码语言:javascript
复制
function makeStep (pin) {
        rpio.open(pin, rpio.OUTPUT, rpio.LOW);

        /* On for 1 second */
        rpio.write(pin, rpio.HIGH);
        rpio.sleep(0.0001);

        /* Off for half a second (500ms) */
        rpio.write(pin, rpio.LOW);
    }

module.exports = {
    makeStep
}

就像这样,我可以像最初的问题中所说的那样使用它,但不需要将它初始化为对象:

代码语言:javascript
复制
var motorDriver = require('./motorDriver');

io.on('connection', function (socket) {
    var motor = motorDriver

    socket.on('make step', function () {
        console.log("Make Step");
        motor.makeStep(40)
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55991028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档