一、如果用nw.js 来开发桌面应用

首先到Nw.js中文网下载软件:

https://nwjs.org.cn/download.html

下载下来进行解压就可以了,绿色的免安装的,整个目录结果是这样的:

我们可以创建的最简单的桌面应用,首先创建一个名为 app的应用目录:package.json是必须的

这里需要注意的是:

E:\fyz\nwjs\nwjs-v0.37.1-win-x64 这个是nw.js 的根目录
E:\fyz\nwjs\nwjs-v0.37.1-win-x64\app这个是包含开发源码的工作目录

二、如何开发生成一个可执行的.exe

进入到工作目录 app 将里面的文件进行 .zip的压缩:

压缩完成后的:app.zip

将压缩后的app.zip改名为 app.nw

将app.nw文件放到项目的根目录:

然后打开cmd,而不是powerShell,powerShell和cmd应该是一样的,但是这里如果用 Powershell 的话打包不成功,而且会报错:

打开 cmd :

切换到 E 盘 下的 项目的根目录:

在此目录下运行:copy /b nw.exe+app.nw app.exe

copy /b nw.exe+app.nw app.exe

出现这样就表示成功了

看到我们的根目录就出现了一个 app.exe 的文件:

这样一个最简单的桌面应用就创建成功啦!

三、简化操作

整体的这个流程,要压缩为zip的文件,要改名为 nw 文件,还要打开 cmd 执行命令,显然太麻烦了,如何简便这个操作流程呢?

新建一个 builder.bat 文件:

在里面写入:

@echo off
set root_path=E:\fyz\nwjs\nwjs-v0.37.1-win-x64\
set work_path=E:\fyz\nwjs\nwjs-v0.37.1-win-x64\app\
E:
cd %work_path%
"E:\fyz\winrar\WinRAR.exe" a -r -ep1 %root_path%app.zip %work_path%
echo ----------压缩包app.zip生成成功
echo ----------开始创建app.exe
cd %root_path%
copy /b nw.exe+app.zip app.exe
echo -----------创建app.exe成功
del app.zip
echo ----------删除app.zip成功
pause

这样,每次只需要双击这个文件就能够生成应用程序。

具体压缩命令参考:

https://jingyan.baidu.com/article/f79b7cb37ad82d9145023e61.html

四、如何打包进行发布

使用上述命令生成 .exe 的可执行文件后,将整个目录复制到另外一个目录下:然后把 app文件夹,nw.exe,builder.bat这三个文件给删除。

这样一个干净的应用程序就完成了。那么这个程序如何给到用户手里,有三个方式:
1.直接RAR打包,发给用户,这也就是个绿色版,无需安装。
2.我们用软件工具 Enigma Virtual Box 封包,用这个工具可以把整个应用程序文件夹生成一个单独的app.exe, 用户直接双击就能运行,这个也是无需安装的。具体的使用方法请参加

https://www.toolmao.com/nwjs-helloworld

但这个工具有一个缺点就是打包的程序太大,100M吧,及时在选项里选择压缩,出来也是70M+,而且更新程序也是个问题。

3.用软件工具innosetup,下载地址:

http://www.jrsoftware.org/isdl.php,

这个工具会生成一个安装版本,而且安装文件才 50M+,很合适,推荐这种方法,具体的使用方法请参加

https://blog.csdn.net/miaodichiyou/article/details/81668431?utm_source=blogxgwz2x

这里顺便提一下,NW.exe 的默认图标通过配置文件是无法修改的,需要用工具 Resource Hacker 来修改。

这样一个完整的打包过程就完成啦。

参考
[1]: NW.js 官网 :https://nwjs.io/
[2]: NW.js中文网:https://nwjs.org.cn/

参考博客:

https://blog.csdn.net/u013288292/article/details/83028282

nw.js---创建一个hello word的方法的更多相关文章

  1. 用Backbone.js创建一个联系人管理系统(五)

    原文: Build a Contacts Manager Using Backbone.js: Part 5 这是这系列教程最后一部分了. 之前所有的增删改都在前端完成. 这部分我们要把Contact ...

  2. 用Backbone.js创建一个联系人管理系统(四)

    原文: Build a Contacts Manager Using Backbone.js: Part 4 这一系列教程的第四部分,教我们如何完成对已经存在的Contacts进行编辑和保存. 本教程 ...

  3. 用node-webkit(NW.js)创建桌面程序

    以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...

  4. 用Backbone.js创建一个联系人管理系统(一)

    原文 Build a Contacts Manager Using Backbone.js: Part 1 在这个教程里我们将会使用Backbone.js,Underscore.js,JQuery创建 ...

  5. 使用 SVG 和 JS 创建一个由星形变心形的动画

    序言:首先,这是一篇学习 SVG 及 JS 动画不可多得的优秀文章.我非常喜欢 Ana Tudor 写的教程.在她的教程中有大量使用 SVG 制作的图解以及实时交互 DEMO,可以说教程的所有细枝末节 ...

  6. 用three.js创建一个简易的天空盒

    本文创建的天空盒是用六张图片来创建的.笔者会论述两种方法来创建,都是最简单基本的方法,不涉及着色器的使用.一种是创建一个盒子,然后将图片作为盒子6个面的纹理贴上来创建.另一种则是简单的将纹理作为场景的 ...

  7. NW.js打包一个桌面应用

    1.安装nw(可以到官网:https://nwjs.io下载) npm install nw -g 2.创建一个最最简单的nw应用 在nwjs文件夹中 新建index.html和package.jso ...

  8. JS创建类以及类的方法(StringBuffeer类)

    创建StringBuffer类以及toString,append()方法 //创建一个StringBuffer类 ,此类有两个方法:一个是append方法一个是toString方法 function ...

  9. JS 创建元素的三种方法

    1.动态创建元素一 document.write() 例如向页面中输出一个 li 标签 <pre class="html" name="code"> ...

随机推荐

  1. Hibernate(11)_基于外键的双向1对1

    一.基于外键的双向1对1 对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素.为many-to-one元素增加unique="true&q ...

  2. 12、mysql补充

    本篇导航: 视图 触发器 事务 存储过程 函数 流程控制 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可 ...

  3. Adding a custom jar as a maven dependency

    Using maven in a Java project is great. It manages builds (as customized as you may need), execution ...

  4. SpringBoot2.0小程序支付功能实现weixin-java-pay

    SpringBoot2.0小程序支付功能实现weixin-java-pay WxJava - 微信开发 Java SDK(开发工具包); 支持包括微信支付.开放平台.公众号.企业微信/企业号.小程序等 ...

  5. PL/SQL学习笔记之包

    一:包 包是由一组相关的函数,过程,变量,游标等PL/SQL程序设计元素的组合而成的一个PL/SQL程序单元,相当于Java中的类. 包的主要作用是封装:把相同或相似的东西归类,方便维护和管理,提高开 ...

  6. 使用插件扩展Docker

    http://wwwbuild.net/dockerone/241249.html   Docker吸引我的,同时也是促使其成功的一个重要方面,是其开箱即用的特性. “开箱即用”是指什么呢?简单来说, ...

  7. [rook] rook的控制流

    以下是rook为一个pod准备可用块存储的过程: 1. rook operator运行,并且在k8s每台机器上运行一个rook agent的pod: 2. 用户创建一个pvc,并指定storagecl ...

  8. 安装sqlserver后 服务启动过几秒就自动停止

    今天安装sqlserver2014后 发现启动2014的服务,过几秒就会自动停止 通过查看windows日志发现是系统库路径报错~ google了下 发现 "重新生成系统库"就能解 ...

  9. Asp.Net \uxxx Unicode编码解码

    /// <summary> /// Unicode编码 /// </summary> /// <param name="str"></pa ...

  10. ASP.NET MVC 右键点击添加没有区域(Area)、控制器、试图等选项

    在MVC项目中准备添加控制器.区域时发现没有控制器这个选项,当时没有在意以为VS出问题了,网上所搜了一下,有人说没有安装:Microsoft.AspNet.Mvc或者需要升级. 本次的解决如下: 1) ...