首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果QZ-Tray在Express上的函数中运行,我就不能运行它。

如果QZ-Tray在Express上的函数中运行,我就不能运行它。
EN

Stack Overflow用户
提问于 2022-10-02 17:52:13
回答 1查看 119关注 0票数 1

我试着制作一个网络应用程序,在LQ-310打印机上使用express和QZ打印。但是,我无法按预期执行打印过程,只有当用户到达端点时,如果我将QZ函数放入另一个函数中,它才会触发打印。如果用户触发端点,我尝试为其创建一个专用文件,并使用bash/shell脚本执行该文件:

代码语言:javascript
复制
const printInvoice = (req, res) => {
    fs.writeFile(`src/invoice/invoice.json`, JSON.stringify(req.body), (err) => {
        if (err) throw err;
    });

    // shell script to run qz-tray
    const shell = require('shelljs');
    shell.echo('Running qz-tray');
    shell.exec('bash src/invoice/qz-tray.sh');

    fs.readFile(`src/invoice/invoice.json`, (err, data) => {
        if (err) throw err;
        res.json(JSON.parse(data));
    });
}

但是,我的终端不返回任何结果,甚至不返回错误消息。

我也已经开始只是在一个功能内做路线,但没有发现任何结果。

注:这是我的解决问题的方法,Rusydy/print-qz

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-03 04:19:12

library是最常见的客户端库。这意味着JavaScript调用必须来自客户机(浏览器),而不是服务器(节点)。

这里有一个非常简单的样板layout.jade,让快车+翡翠与QZ交谈。它是建立在快速应用生成器之上的。

  • 注1:请原谅任何基本的应用程序设计或模板错误在下面,因为我没有经验的快件-或玉器。
  • 备注2: QZ也支持节点/服务器/后端通信,但这种组合并不常见。
代码语言:javascript
复制
# put qz-tray.js in an accessible, public directory
curl -o public/javascripts/qz-tray.js https://raw.githubusercontent.com/qzind/tray/master/js/qz-tray.js
代码语言:javascript
复制
doctype html
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    /***************************
     * code changes start here *
     ***************************/ 
    script(src='/javascripts/qz-tray.js', type='text/javascript')
    script.
      qz.websocket.connect().then(() => {
        return qz.printers.find()
      }).then(printers => {
        document.getElementsByTagName("p")[0].innerHTML += "<p>Found printers:</p><ul>";
        printers.forEach(printer => {
          document.getElementsByTagName("p")[0].innerHTML += "<li>" + printer + "</li>";
        });
        document.getElementsByTagName("p")[0].innerHTML += "</ul>";
      });
    /***************************
     *   end of code changes   *
     ***************************/ 
  body
    block content
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73928097

复制
相关文章

相似问题

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