设为首页 收藏本站
查看: 1934|回复: 0

[经验分享] 使用nwjs开发桌面应用之Hello,World!

[复制链接]

尚未签到

发表于 2017-2-25 10:56:06 | 显示全部楼层 |阅读模式
  今天发现原来JavaScript也可以用来开发桌面应用程序,顿时有一种很牛逼的感觉,于是马上就开始了Hello,World!,感受一下JavaScript的强大。
  可以用来开发桌面应用的js框架有三种:
  1.NW.js
  NW.js是Intel的工程师写的一个基于node.js和chromium的应用程序运行环境。项目地址是:https://github.com/rogerwang/node-webkit
  2.Electron
  Electron是一款利用Web技术开发跨平台桌面应用的框架。项目地址是:https://github.com/atom/electron
  3.Hex
  Hex是基于 CEF 并且融合了 Chromium 与 Node.js编写的,好像有道词典就是用这个写的。但是这个框架已经三年没更新了,所以直接弃用。。。。。。
  于是我的目光就指向了NW.js,毕竟是Intel大神的杰作,具体Hello,World!的步骤如下。

  一、NW.js的下载
  官网地址是:http://nwjs.io/
  进去之后,点击下载SDK的版本,并解压至本地目录即可。
DSC0000.png


  二、应用编写
  1.在nw.exe目录中创建一个helloworld的文件夹。
  新建index.html



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World!</title>
<script src="helloworld.js"></script>
</head>
<body>

</body>
</html>
  新建helloworld.js



document.write('Hello, World!');
  新建package.json



{
//应用的入口页面(也可以设置成js文件)
"main": "index.html",
//应用的名称
"name": "HelloWorld"
}
  2. 运行helloworld。
  a) 在nw.exe所在目录按下shift+鼠标右键,选择"在此处打开命令窗口"。然后输入nw helloworld即可看到运行效果。
  b) 可以直接将helloworld目录拖拽到nw.exe上同样也可以运行。

  三、应用打包
  一般windows的桌面应用都是exe可执行文件,是不依赖于其他文件和环境的。而我们创建的helloworld应用是依赖于nw.exe和相关文件的,那么如何将应用打包成一个可执行文件呢?
  经过google,果然是有解决方案的,那就是Enigma Virtual Box
  1. 下载Enigma Virtual Box
  地址是:http://enigmaprotector.com/en/downloads.html
  选择最后一个下载就可以了,然后安装。
  2. 将应用打包成helloworld.nw文件。
  进入到helloworld目录中,全选三个文件打包成zip,然后改名成helloworld.nw。
  (遇到的坑,我本机安装的压缩工具为winRAR,所以打出来的格式一致有问题,所以导致无法成功执行,后来换成7-zip就好了。)
     DSC0001.png
    3. 合并helloworld.nw和nw.exe

    将helloworld.nw文件移动到和nw.exe同级目录下,然后执行命令



copy /b helloworld.nw+nw.exe hello.exe
  发现多了一个hello.exe文件,双击发现是可以运行的。不过这还不是最终的结果,因为将hello.exe移动到其他文件夹之后,就不能正常执行了。
  4. 使用Enigma Virtual Box打包成exe
DSC0002.png

  Input File Name选择刚才生成的hello,Output File Name就是输出文件。
    重点来了,下面的Files需要将locales和pnacl两个文件夹拖入,然后add选择nw.exe目录中所有不包含我们创建的helloworld应用的文件
     DSC0003.png
    然后点击右下角的"Process"按钮,
     DSC0004.png
    看到上图结果,就说明执行成功了。
    找到打包后的文件,然后执行。
     DSC0005.png
    大功告成!!!遇到问题的小伙伴可以留言或者加我qq:997494167。
  如果本文对你有帮助,还望多多支持。
  支付宝二维码附上
DSC0006.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346972-1-1.html 上篇帖子: 实用的开源百度云分享爬虫项目yunshare - 安装篇 下篇帖子: WebStorm 常用功能的使用技巧分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表