"index.html"
其中的main属性就是用来指定入口文件的,这个属性的值可以是本地文件,也可以是远程网址,这样就相当于可以把一个远程的web应用直接变为一个桌面应用了。除了name与main这两个属性外,还有很多其他有用的属性可以配置,比如指定应用的图标,显不显示浏览器的工具栏,指定浏览器的初始大小等等。
关键package.json的语法请参考:
https://github.com/nwjs/nw.js/wiki/Manifest-format#webkit-subfields
生成exe
-
将index.html和package.json这两个文件压缩到一个zip压缩包里,命名为app.zip
copy /b nw.exe+app.nw app.exe
-
生成app.exe
将生成的文件剪切到新的文件夹,为下面封包做准备:
默认情况下创建出来的应用程序(exe)会和nw.exe的图标一样,可以通过resource hacker这个工具来修改nw.exe的图标成你所想要的,比如可以参考:
http://keenwon.com/1311.html
Enigma Virtual Box
官网上推荐用Enigma Virtual Box这个软件来将app.exe和依赖的dll打包成一个exe后发布
下载地址:
https://enigmaprotector.com/en/downloads.html
-
在Enter Input File Name输入app.exe的路径
-
在Enter Output File Name输入打包出来的可执行文件的输出路径
-
点击增加,选择nwjs文件夹
-
导入配置文件,选择执行封包
-
生成可执行EXE
总大小182MB,比Inno Setup方案大很多
-
双击EXE可直接运行
比Inno Setup方案的优势在于可以直接运行,无需安装
Inno Setup
另一个打包方式,就是用Inno Setup来打包成安装程序,即将一开始的web应用源文件和node-webkit的nw.exe和一些以来dll直接压缩成一个安装文件,我们并不需要上述中间那先打包成app.exe的步骤。用户在使用你的exe后会出现setup wizard把程序安装到Program Files目录中,将nw.exe,dll,web应用释放出来,这个时候所生成的安装文件其实size会小很多。
下载地址:
http://www.jrsoftware.org/isdl.php
-在C盘安装成功
-
安装完成后,生成桌面图标
-
双击图标,程序运行成功
下载和安装node-webkit官网访问地址https://nwjs.io/github访问地址https://github.com/nwjs/nw.jsWEB应用新建一个index.html文件,作为我们这个demo的入口页面:<html><head> <meta charset="utf-8" />
nvm下载
node
版本5.12.0 32并且切换到该版本。
如果你只用5.12.0版本开发,那么可以跳过这一步。如果安装失败,可以在网上搜索相关资料。(一般都是卸载干净
node
版本后再进行安装,包括
node
的缓存目录等等)
nw
.
js
在xp系统上最新的LTS版本为0.14.7,对应能支持最高的
node
版本为5.x。而最新的5.x
node
版本为5.12.0。
为了支持在32位系统中也能正常
使用
,所以建议安装32版本。
对应命令为:
nvm install 5.12.0 32
在前面做了一些Eelectron-vue的基础调研,包含项目构建,打包应用以及构建安装程序等,其中也碰到了一些问题,基本上能解决的都解决了。
做了前面的研究准备,接下来就是项目的实际开发。目前是在主进程中可以启动子进程(这里指另外一个
exe
程序),并且能获取到子进程返回的数据,所以接下来要调研的就是怎么向子进程传递参数以及怎么获取子进程中返回的数据?
2.父子进程的参数传递
前面
使用
的是spawn的方式去实现的父子进程之间的通信,这里也还是
使用
spawn实现父子进程之间的参数传递。
其中子进程传给