关于在nw里使用require('printer')和nw.require('printer')报错的问题
公司項(xiàng)目為了兼容xp所以使用nw.js(0.14.7-sdk),用到了printer模塊(第三方的c++打印模塊),在引入該模塊的時(shí)候,使用了require導(dǎo)致一直報(bào)cannot find modul “.”,后來(lái)改用nw.require,結(jié)果可以引入該模塊了,但是打包成exe文件后,又報(bào)了cannot not find module “printer”。
以下是我解決這個(gè)printer模塊的流程和方法:
1.首先搭建好編譯的環(huán)境,visual studio 2013或2015,python 2.7,然后按照作者說(shuō)的安裝全局的npm模塊和打印模塊,https://github.com/tojocky/node-printer
2.配置好環(huán)境變量、vs的版本、系統(tǒng)位數(shù)等,http://docs.nwjs.io/en/latest/For Users/Advanced/Use Native Node Modules/
3.安裝好printer模塊后,進(jìn)行編譯,注意如果你是要編譯ia32的就安裝
//否則安裝,具體看第一點(diǎn)的鏈接,記住編譯的不同位數(shù)的系統(tǒng),需要set npm_config_arch=x64(ia32或x64),這樣子nw-gyp才會(huì)編譯出適合當(dāng)前位數(shù)的,否則會(huì)報(bào)錯(cuò)的
npm install printer --target_arch=x644.做完上面幾點(diǎn)后,就是解決nw.require找不到模塊的問(wèn)題,在這里表明下我是用的是別人構(gòu)建的項(xiàng)目vue-nw-seed,我的做法是以下的圖片,把與printer模塊相關(guān)的模塊放到dist中,dist中添加一個(gè)node_modules的文件夾,這樣打包的時(shí)候就可以找到模塊了
5.解決中文亂碼的問(wèn)題,是添加上圖的綠色的兩個(gè)npm包,另外修改node-thermal-printer包下的lib里的core.js文件,目錄和代碼如下:
添加:iconv= require(‘iconv-lite’);
修改print和printIn這個(gè)兩個(gè)方法,至此亂碼問(wèn)題解決
node調(diào)試輸出亂碼 https://ask.csdn.net/questions/167560
以上說(shuō)明可能只適合0.14.7,如果大家還有更好的解決nw里使用printer模塊打印的解決方案,煩請(qǐng)告知,謝謝!
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的关于在nw里使用require('printer')和nw.require('printer')报错的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: powerdesigner生成表sql语
- 下一篇: html-页面结构分析