我有这个opcode.js文件,需要用mocha对其进行测试。示例可以在这里查看:

var opcode = {
    '0': {
        decode: function (data) {
            var ocBuf = new OpcodeBuffer(data);
            var kpo = {};
            kpo.opcode = 0x00;
            ocBuf.setIndex(1);
            kpo.sid = ocBuf.readUInt16();
            return kpo;
        },
        encode: function (kpo) {
            var ocBuf = new OpcodeBuffer(opcode['0'].encodeLength(kpo));
            ocBuf.writeUInt8(0x00);
            ocBuf.writeUInt16(kpo.sid);
            return ocBuf.buf;
        }
module.exports = opcode;


并写在我的test_ack.js文件中:

var op = require('./ack.js');
var assert = require('assert');
opcode = op.opcode;
var decode = require('opcode').decode();
var encode = require('opcode').encode();


问题是我一直在编码和解码未定义的错误消息。仍然无法获取如何将其导入目录中。

最佳答案

给定您显示给我们的代码,这就是导入两个函数的方式:

var decode = require('opcode')["0"].decode;
var encode = require('opcode')["0"].encode;


我建议另外避免两次调用require。除其他外,您当前拥有的代码将调用函数,而不仅仅是导入它们。

10-04 20:59