关于在nw里使用require('printer')和nw.require('printer')报错的问题

2 篇文章 0 订阅
公司项目为了兼容xp所以使用nw.js(0.14.7-sdk),用到了printer模块(第三方的c++打印模块),在引入该模块的时候,使用了require导致一直报cannot find modul “.”,后来改用nw.require,结果可以引入该模块了,但是打包成exe文件后,又报了cannot not find module “printer”。
以下是我解决这个printer模块的流程和方法:

1.首先搭建好编译的环境,visual studio 2013或2015,python 2.7,然后按照作者说的安装全局的npm模块和打印模块,https://github.com/tojocky/node-printer
2.配置好环境变量、vs的版本、系统位数等,http://docs.nwjs.io/en/latest/For Users/Advanced/Use Native Node Modules/
3.安装好printer模块后,进行编译,注意如果你是要编译ia32的就安装

npm install printer --target_arch=ia32

//否则安装,具体看第一点的链接,记住编译的不同位数的系统,需要set npm_config_arch=x64(ia32或x64),这样子nw-gyp才会编译出适合当前位数的,否则会报错的

npm install printer --target_arch=x64

4.做完上面几点后,就是解决nw.require找不到模块的问题,在这里表明下我是用的是别人构建的项目vue-nw-seed,我的做法是以下的图片,把与printer模块相关的模块放到dist中,dist中添加一个node_modules的文件夹,这样打包的时候就可以找到模块了
在这里插入图片描述
5.解决中文乱码的问题,是添加上图的绿色的两个npm包,另外修改node-thermal-printer包下的lib里的core.js文件,目录和代码如下:
在这里插入图片描述

添加:iconv= require(‘iconv-lite’);
在这里插入图片描述
修改print和printIn这个两个方法,至此乱码问题解决
在这里插入图片描述

node调试输出乱码 https://ask.csdn.net/questions/167560
以上说明可能只适合0.14.7,如果大家还有更好的解决nw里使用printer模块打印的解决方案,烦请告知,谢谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值