在win10下,关于nw.js打包的问题找了好多资料,大多的方法如下:
app文件:存放项目代码的文件夹
1. 将app文件夹内的所有文件打包成app.zip压缩包(这个压缩包一定要包含package.json)
2. 将app.zip的后缀名改为nw,即app.nw(也可以不用改)
3. 将app.nw拷贝到nw.exe同目录下
4. 命令行进入根目录: copy /b nw.exe+app.nw app.exe
5.运行完以上代码后,就会生成一个名为app.exe的可执行文件,双击即可运行
上面的这种方法虽然可行,但运行文件特别慢,本人等待了8秒多才成功显示界面。
一般用户的极限忍耐时间为6~8秒,所以启动慢的问题对用户体验非常不好。
所以我又想,弄个启动页,双击exe直接显示启动页,等主界面加载完后再显示,google一查,果不其然,那就是设置一个splash_screen.html,来充当启动页,思路如下:
1. 运行exe,加载 splash_screen.html,显示启动页
2. 在启动页中,利用gui.Window.open("main_path")的方法打开主界面
具体代码如下:
运行之后发现,仍然需要8秒多才能启动项目,google后,理解启动慢是因为要解析压缩包,然后再分析package.json,找到对应的启动路径,其中解析压缩包花了很长的时间。打开主界面是一瞬间的事,很快。
最后仔细阅读了官方文档,发现nw.js打包有两种方法,如下:
我所使用的恰恰是第二种并不推荐的打包方法,官网的第一种方法更好,更快捷,思路如下。
核心思路是:根本不需要打包
1. 将项目的package.json文件拷贝到与nw.exe同目录下
2. 改一下package.json中的mian/node-mian路径
3. 直接双击nw.exe就能运行程序
* 速度特别快,导致设计师给我设计的启动页只闪了一下,就关闭了,所以我有加了个定时器,等个2秒再打开主界面^_^,也对得起设计师的努力了
参考链接:
网友评论