我正在尝试在我的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,
};
我不确定这是否有帮助。但是,如果您查看 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 库填充。
希望这对您有帮助。