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
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
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>
- 控制台输出了打印机信息就证明可以正常使用了,例如:
参考链接 & 一些有用的链接