搜索
您的当前位置:首页正文

在nw.js要如何优雅的使用node-printer

来源:二三娱乐

这个坑是沉痛的,由于陷入之前的处理问题的惯性操作而浪费了三天时间,四个深夜凌晨2点。特此记录一下。

先来说说问题

一号坑

二号坑

npm install 

三号坑

这个就是自己思维惯性的坑了。
由于这些文档都是英文的,也不是看不懂,而是看起来费劲,所以就想着走走捷径。照着百度上面说的各种错误解决方案就是一通骚操作,最后结果证明,对于热门的工具,你可以相信百度。但是对于这种冷门的东西,那就只能参考了,这是血的教训。

最后上硬菜

在nw.js要如何优雅的使用node-printer

一、首先你必须要先看一个nw.js官方的文档。

如果没有回过头来认真看着这个nw.js文档,这会我估计还在抓耳挠腮想着如何解决问题。这个文档告诉了我们如何在nw.js使用原生node模块。这个文档开头就给我们指出的了操作方法。


image.png

如果我们在最新版本的nw.js中编译node的原生模块,那么我们要保证nw.js运行环境的node版本需要和我们开发环境的node版本保持一致。比如我们查看我们nw.js的环境信息如下


image.png

图中显示当前nw.js环境的node版本为13.1.0。所以就得保证本机开发环境的node版本也是这个。

二、本机需要有Visual C++ Build Tools环境

npm install --global windows-build-tools --vs2015

这个预计会比较耗时,网络不好的情况可能还需多尝试几次。

三、安装node-printer

npm install 

四、安装node-gyp

npm install --global node-gyp

五、nw.js文档中提到的如何hack node-gyp

image.png

最后一步

进入cmd执行

项目路径\node_modules\printer>node-gyp rebuild

出现如下输出标识编译成功


image.png

Test

在nw项目的页面中编写代码

<script>
    var printer = nw.require("printer");
    console.log(printer);
</script>

启动nw程序F12打开devtool,看到如下输出表示node-printer编译成功


image.png

Tips:

nw需要下载sdk版本才有devtools,否则f12打开是空白。

亲~~ 码字分享不容易,如果本文恰好给你解决了问题,就请给个小❤❤吧,如果还有哪里写的不到位,可以评论留言我们一起讨论完善。笔芯....

Top