一、如果用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. jQuery 学习04——遍历:定义、向上、向下、同级、过滤

    Query 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素. 以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止 ...

  2. set non-stop on

    # Enable the async interface. set target-async 1 # If using the CLI, pagination breaks non-stop. set ...

  3. wriesharek同时监听多个端口

    之前的文章<wireshark解析自定义的protobuf协议> ,当时只监听了一个端口,而如果游戏同时有二个 socket 连接,比如一个是网关另外一个是其它的,怎么办呢? for i, ...

  4. 解决Linux系统80端口被占用的问题

    有Linux在centos下面安装webmail服务遇到80端口被占用的问题,导致无法继续安装,下面详细介绍下Linux如何查看.查找.关闭监听80端口服务以更好的的解决80端口被占用的问题. 一.查 ...

  5. self.location.href

    self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 this.location.href;//当前页面打开URL页面 ...

  6. Docker 集群Swarm创建和Swarm Web管理

    关于Docker Swarm更多的介绍请查看<Docker管理工具-Swarm部署记录> 一.环境配置 1.安装环境 # cat /etc/redhat-release CentOS Li ...

  7. [Python设计模式] 第13章 造小人——建造者模式

    github地址:https://github.com/cheesezh/python_design_patterns 题目1 用程序模拟一个画小人的过程,要求小人要有头,身子,左手,右手,左脚,右脚 ...

  8. CentOS7 限制SSH密码尝试次数

    编辑配置文件: vi /etc/pam.d/sshd 在文末添加内容: auth required pam_tally2.so deny= unlock_time= 代表失败5次,禁止访问600秒 保 ...

  9. 3分钟搞明白信用评分卡模型&模型验证

    信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后运用logistic回归模型进行的一种二分类变量的广 ...

  10. ASP.NET CORE下运行CMD命令

    ASP.NET CORE下运行CMD命令,用以前的ASP.NET 的命令System.Diagnostics.Process.Start("notepad");这样是可以运行出记事 ...