电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到NW.js(node-webkit)桌面应用实录的问题,如果我们遇到了NW.js(node-webkit)桌面应用实录的情况,该怎...
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到NW.js(node-webkit)桌面应用实录的问题,如果我们遇到了NW.js(node-webkit)桌面应用实录的情况,该怎么处理怎么才能解决NW.js(node-webkit)桌面应用实录带来的困扰呢,对于这样的问题其实我们只需要windowsnodenw.js首先去官网下载安装包:如图然后解压:解压后的目录是这样 如图下一步写自己的web程序:有些桌面api 可以去官网查看案列。这里的的 json文件要特意说下,按照官网的描述之后,{"main": "nw/index.html","name": "test","description": "使用nw.test","version": "0.0.1","keywords"这样就解决了这样的问题,接下来给大家带来NW.js(node-webkit)桌面应用实录的详细操作步骤。
工具/原料
windows
node
nw.js
方法/步骤
首先去官网下载安装包:如图

然后解压:解压后的目录是这样 如图

下一步写自己的web程序:有些桌面api 可以去官网查看案列。这里的的 json文件要特意说下,按照官网的描述之后,

{"main": "nw/index.html","name": "test","description": "使用nw.test","version": "0.0.1","keywords": [ "test", "test" ],"window": {"title": "test","icon": "nw/ioco/yuhe.ico","toolbar": true,"frame": true,"width": 1008,"height": 750,"position": "center","min_width": 800,"min_height": 400},"webkit": {"plugin": true,"java": false,"page-cache": false},"chromium-args" :"-allow-file-access-from-files"}
对应的 意思:
title : 字符串,设置默认 title。width/height : 主窗口的大小。toolbar : bool 值。是否显示导航栏。icon : 窗口的 icon。position :字符串。窗口打开时的位置,可以设置为“null”、“center”或者“mouse”。min_width/min_height : 窗口的最小值。max_width/max_height : 窗口显示的最大值。resizable : bool 值。是否允许调整窗口大小。always-on-top : bool 值。窗口置顶。fullscreen : bool 值。是否全屏显示。show_in_taskbar : 是否在任务栏显示图标。frame : bool 值。如果设置为 false,程序将无边框显示。"chromium-args" :"-allow-file-access-from-files" 相当于给谷歌浏览器添加启动参数一样,这行代码允许angularjs直接访问本地json文件。打包的时候 json文件要在 程序目录的前面才行,我这截图的时候是放在同一目录的。好,接下来就是打包编译成exe可执行文件的时候了,
直接把app打包成zip压缩格式,记住要是zip的,放到这个目录中。
目录地址 记得修改 : json 文件要在 项目文件 的前面:
在cmd 进去 nw 的目录中 执行 copy /b nw.exe+app.nw firstApp.exe 命令 执行之前,把zip文件的后缀名修改成.nw, 这会把压缩包生产 exe可执行文件。但是这个文件目前是依赖 nw sdk的,离开了就不能执行,要么生成单文件exe,要么用 封装成安装包。我这主要展示单个文件。

下载 Enigma Virtual Box 记得下单文件版本,
把主文件,生成的文件,下面add 选择 nw 的目录文件(除了 你自己app.exe nw.exe等不相干的)。执行封包 就会出现 单独的 exe文件,这个文件就可以脱离 nw 目录单独执行了;

还有一个问题就是,生成的exe 图标 还有文件描述都是默认的:比如这
这肯定不行的啦,所以就要用到另一个工具ResourceHacker_v5.1.7


改完之后另存为exe 就可以了,这下子,一个完美的 nw 做得 exe可以执行文件 就搞定了。
最后说说优点吧,方便那是肯定的,不用学c++啥的语言就可以写桌面应用了。还是可以跨平台的。mac 等 平台都可以打包对应的安装包,非常好。但是缺点就是,太重,打包后的体积太大。 依赖严重! 一个 hello word 打包之后加依赖就有几百M。......
因为系统内置没有对应的运行库,所以会比较大,这边是真的硬伤。
注意事项
node版本最好在10以上
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。



