NW-制作桌面应用新方式

node-webkit开发桌面应用 :将html打包成exe运行,好处一客户不用单独再安装chrome,,浏览器设置可封装,比如刷新缓存这些

是用c++写成,可直接访问本地资源,界面可以加菜单。

WebKit负责HTML5 UI 相关的部分,而Node.js负责本地的API接口,比如文件系统,网络,设备等。

使用:编辑package.json 放在nw根目录下,用enigma virtual box打包使用

作者相关:http://www.csdn.net/article/2014-01-08/2818066-Node-Webkit

清除缓存:C:UsersgoodasongAppDataLocalLvShou,lvshou是指在package.json指定的name

中文文档

用Enigma Virtual打包时,dll选择:

nw.pak:必需,是javascript库

icudtl.dat:必需,是网络库

ffmpegsumo.dll:媒体库,比如作用video这些需有此dll支持

libEGL.dll:webgl使用

libGLESv2.dll:gpu使用

d3dcompiler_47.dll:调试webgl使用

pdf.dll

Enigma Virtual Box:将多个文件如dll,exe打包成一个文件直接可以运行,可以写注册表

遇到的问题:

系统要使用flash,而显示的效果是有些电脑flash显示正常,有些却不能。

通过阅读wiki知,需要增加”plugin”: true,默认是不加载插件的,此解决一,但还是会有flash不显示的电脑,

在package.json所在目录增加plugins,里面放入flash插件NPSWF32_11_8_800_168.dll,所有电脑都可显示flash。

原因:是在”plugin”: true后,NW会去系统目录找flash插件,因电脑安装原因,可能flash插件不能固定的地方,然后它会去package.josn所在的plugins中查找,就是我们放plugins目录的的所在。

package.json:

{

“main”: “http://xxxxx.xx/login.aspx” ,

“name”: “LvShou”,

“version”: “0.1”,

“window”: {

“title”: “微商管理系统V3.0 Powered By asong”,

“toolbar”: false,

“frame”: true,

“width”: 1024,

“height”: 768,

“position”: “center”,

“resizable”: true,

“icon”: “key.png”,

“show”: true

},

“webkit”: {

“plugin”: true

}

}

https://github.com/nwjs/nw.js/wiki/Third-party-browser-plugins