0、写在前面的一些提示

  • 不要使用太高版本的 NW.js 以及 Node.js,因为 node-printer 会有兼容性问题,目前笔者测试到 node-printer 最高只能在 0.43.x 版本以及低于这个版本的 NW.js 里面正常运行,高于这个版本就会在安装 node-printer 时报错或者程序运行时直接崩溃闪退。并且使用的 Node.js版本应该与 NW.js 里面的 Node.js 版本一致,可以在双击 nw.exe 查看 NW.js 里面的 Node.js 版本,如图:

1、下载Nw.js

  • 在 https://dl.nwjs.io/ 里面挑选心仪的版本下载,里面有各个操作系统的 SDK 版本以及 NORMAL 版本。下载完解压即可。例如:

2、安装Visual C++ Build Tools 以及 Python 环境

  • 为什么需要安装Visual C++ Build Tools 以及 Python 环境?
  • 因为要使用 node-printer 的话需要 node-gyp 进行 rebuild,才能在 NW.js 里面使用,不然无法正常使用
  • 如果电脑有安装过 Visual Studio 那就可以跳过这一步,如果没有那就需要安装。可以使用 windows-build-tools 来安装这个环境:npm install --global windows-build-tools
  • 这个 install 可能会比较久
  • 使用 windows-build-tools 安装可能会出现的问题以及缺陷如下:
    1、安装的 Python 的版本是 2.7 的,但是事实上最新的 node-gyp 已经要求是 3.x 版本了,我们需要去安装旧版本的 node-gyp。
    2、安装完 Python 后依然需要手动配置环境变量,不然无法检测到 Python 环境
    3、windows-build-tools 官网上说 npm 安装完会自动执行 windows-build-tools 来给我们安装 Visual C++ Build Tools 以及 Python2.7 环境,但是有时候安装完并没有执行,这时候我们需要到 path/node_modules/windows-build-tools 目录里执行 node ./dist.index.js
    4、安装 Visual C++ Build Tools 以及 Python2.7 环境时,可能会发生卡住的情况如下图:

    这个时候只要去到 C:\Users\用户.windows-build-tools 下双击打开 vs_BuildTools.exe,进入之后勾选 Node.js MSBuild 、Visual C++ Build Tools 支持,然后下载安装即可
    5、如果电脑没有 .NET Framework 的环境,顺便下载安装一下:https://dotnet.microsoft.com/download/visual-studio-sdks
  • 如果不使用 windows-build-tools 安装,可以自行去 Visual C++ Build Tools 以及 Python 官网自行下载安装

3、安装node-gyp

  • 使用npm安装:npm install --global node-gyp
  • 安装完成把 npm-path/node_modules/node-gyp/src/win_delay_load_hook.cc 替换成 https://github.com/nwjs/nw.js/blob/nw43/tools/win_delay_load_hook.cc

4、安装node-printer

  • 使用npm安装:npm install printer

5、重新构建 node-printer

  • 进入 project_path/node_modules/printer 目录在里面执行重新构建的命令:node-gyp rebuild ,显示如下图,即为 rebuild 完成:

6、完成了以上所有步骤之后,就可以在 NW.js 里面快乐的使用 node-printer 操作打印机了

  • 可以使用如下代码进行测试
<script>let printer = require("printer")let util = require('util')console.log("installed printers:\n"+util.inspect(printer.getPrinters(), {colors:true, depth:10}));
</script>
  • 控制台输出了打印机信息就证明可以正常使用了,例如:

参考链接 & 一些有用的链接

  • NW.js官方:https://nwjs.io/
  • NW.js官方文档:https://nwjs.readthedocs.io/en/latest/,其中最重要的是这个:Use Native Node Modules
  • node-gyp:https://github.com/nodejs/node-gyp
  • node-printer:https://github.com/thiagoelg/node-printer
  • 在nw.js要如何优雅的使用node-printer:https://www.jianshu.com/p/b3c558ddb914

在NW.js里面使用node-printer相关推荐

  1. 我的第一个nw.js爬虫

    最近想找一个英语音标数据库,但是一直没有找到满意的,于是想到自己做个网络爬虫爬取有道词典的英语音标. 由于自己比较喜欢用javascript写代码,虽听说用python也可以写爬虫,但是我很不习惯哪种 ...

  2. nw.js项目用nsis打包成一个exe文件的坑

    nsis把nw.js整个项目编译成一个exe包,可以实现分发给客户时,可以给用户更好的体验,但是隐藏着一个坑.也可以说是nw.js本身存在的坑.由于nw.js是基于node.js和chromium的应 ...

  3. NW.JS使用node模块serialport串口通信

    坑实在是太多啦! 整了一天才摸索出来 真是感慨良多 希望以后用到的人不要再走进坑了 下面说一下nw.js中使用serialport 1.node.js是肯定要装的 2.npm install node ...

  4. window下使用nw.js开发桌面应用程序环境的搭建

    安装node window下去node官网下载长期支持版本或者最新稳定版都可以. 按装nw用来管理和按装nw.js npm install -g nrm # 用来设置npm镜像地址 npm insta ...

  5. 使用NW.js封装微信公众号菜单编辑器为桌面应用

    开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...

  6. 用node-webkit(NW.js)创建桌面程序

    以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...

  7. 用 vue2 和 webpack 快速建构 NW.js 项目(1)

    经过实践和学习,发现本篇文章部分内容已经过时,请看我的关于 Vue 和 NW.js 的 最新文章 和相关实践项目 vue-nw-seed . 使用到的技能点 vue2 webpack NW.js No ...

  8. nw.js 打包换桌面图标_我如何使用CometChat和NW.js构建桌面聊天应用程序(以及方法)

    nw.js 打包换桌面图标 This is not your typical "paste this here" and "paste that there"- ...

  9. NW.js 简介与使用

    简介 (1)以网络最流行的技术编写原生应用程序的新方法 (2)基于HTML5, CSS3, JS and WebGL而编写 (3)完全支持nodejs所有api及第三方模块 (4)可以使用DOM直接调 ...

最新文章

  1. 控制反转容器依赖注入模式(转)
  2. [转] NSMapTable 不只是一个能放weak指针的 NSDictionary
  3. OpenCV基本线性变换轨迹栏的实例(附完整代码)
  4. 云原生数据湖分析DLA 2020年年度总结
  5. 一些来自STL的好东西
  6. 监控系统的多协议直播(RTSP RTMP HTTP Live Streaming)
  7. 小学C++编程入门书籍及相关资料介绍(二) 算法篇
  8. RAID0、1、5、6、10介绍
  9. 【单片机】之MCS-51系列单片机硬件结构
  10. python 动物园_python面向对象 动物园 例题
  11. 购买弹性云服务器怎么部署网站,购买后怎么部署自己的云服务器
  12. 清除所有浏览器历史数据脚本_不要让浏览器吸收所有数据
  13. iOS虚拟支付被封,6个技巧帮你快速解决烦恼
  14. Java 压缩/混淆 JavaScript 代码
  15. ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...
  16. 校招生值得去阿里淘系做技术吗?
  17. 全面解读惯性导航系统与技术
  18. 织梦文章页自动添加TAG标签内链插件(可设置内链总数)
  19. 2022-2028全球与中国专业实践管理软件市场现状及未来发展趋势
  20. http chunked传输

热门文章

  1. 大道至简:软件工程实践者的思想读后感
  2. 决策树(Decision Tree)算法原理总结(二)
  3. 大型网站技术架构一览
  4. element 日期选择器 只能选择今天之前或选择今天之后的日期
  5. requests-bs4路线爬取中华英才网并分析热门职位及其薪资
  6. TikTok跨境电商:TikTok是中国的吗?发展趋势是什么样的?
  7. css零到一基础教程006:CSS 颜色
  8. 海思PQTool进行CCM调试经验
  9. 【渝粤教育】国家开放大学2018年秋季 8634-22T (1)Android智能手机编程 参考试题
  10. 如何制作一本精致的企业电子杂志App?