一般情況下我們需要用到調試工具debug;我們到官網下載可以用于調試的版本http://nwjs.io/
下載之后解壓等造作參考之前的文章;然后在代碼中添加
var?gui?=?require('nw.gui');
var?win?=?gui.Window.get();
win.showDevTools();
就可以打開調試窗口
接下來是我們使用ffi的時候除了一點兒錯
在項目中安裝ffi
npm install ffi
在index.html中的js代碼中添加
var?FFI?=?require('ffi');
function?TEXT(text){
return?new?Buffer(text,?'ucs2').toString('binary');
}
var?user32?=?new?FFI.Library('user32',?{
'MessageBoxW':?[
'int32',?[?'int32',?'string',?'string',?'int32'?]
]
});
var?OK_or_Cancel?=?user32.MessageBoxW(
0,?TEXT('I?am?Node.JS!'),?TEXT('Hello,?World!'),?1
);
添加了這些代碼的時候報錯,信息大致是在binding.js中加載動態庫失敗
3818:0701/012531:INFO:CONSOLE(83)] “Uncaught Error: /tmp/.org.chromium.Chromium.zU7siC/node_modules/ref/build/Release/binding.node: undefined symbol: _ZN2v82V817IsGlobalNearDeathEPPNS_8internal6ObjectE”, source: /tmp/.org.chromium.Chromium.zU7siC/node_modules/ref/node_modules/bindings/bindings.js (83)
解決方案是在全局先安裝nw-gyp
npm install -g?nw-gyp
然后進行下面的操作
進入ffi模塊運行下面命令 nw-gyp rebuild --target=0.17.5
進入ref模塊運行 nw-gyp rebuild --target=0.17.5
target是你的nw的版本,查看版本可以直接雙擊nw.exe右下角會有顯示;或者你是下的什么版本就是什么版本,比如你到官網看到的是v0.17.5
這里的target就是0.17.5
之后再運行你的項目就可以了