关于在nw里使用require('printer')和nw.require('printer')报错的问题
公司項目為了兼容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的就安裝
//否則安裝,具體看第一點的鏈接,記住編譯的不同位數的系統,需要set npm_config_arch=x64(ia32或x64),這樣子nw-gyp才會編譯出適合當前位數的,否則會報錯的
npm install printer --target_arch=x644.做完上面幾點后,就是解決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模塊打印的解決方案,煩請告知,謝謝!
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的关于在nw里使用require('printer')和nw.require('printer')报错的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: powerdesigner生成表sql语
- 下一篇: html-页面结构分析