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 *** 作打印机了
- 可以使用如下代码进行测试
- 控制台输出了打印机信息就证明可以正常使用了,例如:
参考链接 & 一些有用的链接
- 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)