类型错误:usb.on 不是函数

问题描述 投票:0回答:1

我正在尝试在我的nodejs项目中使用escpos和escpos-usb来打印收据。当我尝试启动 server.js 文件时,我总是收到错误 usb.on is not a function 。使用 Epson TM-T20III 打印机执行此操作是否有其他选择,或者是否有解决方案可以帮助我解决此问题

var escpos = require("escpos");
var USB = require("escpos-usb");
const device = new USB();
var printer = new escpos.Printer(device);

const printReceipt = () => {
  device.open(() => {
    printer
      .font("a")
      .align("CT")
      .style("bu")
      .size(1, 1)
      .text("This is a test print")
      .cut()
      .close();
  });
};

module.exports = {
  printReceipt: printReceipt,
};

node.js
1个回答
0
投票

我不确定这是否有帮助。但是,如果您查看 escpos npmjs 页面 上的示例代码,您会发现在需要 escpos 后,您应该将 escpos.USB 属性设置为所需/导入的“escpos-usb”库。

所以你的代码应该更像

var escpos = require("escpos");

escpos.USB = require("escpos-usb"); // <===

const device = new escpos.USB();
var printer = new escpos.Printer(device);

const printReceipt = () => {
  device.open(() => {
    printer
      .font("a")
      .align("CT")
      .style("bu")
      .size(1, 1)
      .text("This is a test print")
      .cut()
      .close();
  });
};

module.exports = {
  printReceipt: printReceipt,
};

我必须承认我还没有测试过。但该库可能希望 escpos 对象上的 USB 属性由 escpos-usb 库填充。

希望这对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.