想必只要是在前端这个领域混迹的同学都差不多都听说过或者是玩过nw.js,我在前两年第一次听说可以使用js来开发跨平台的桌面应用的时候真的是被她深深地吸引住了,那种感觉就像是在一片茫茫的人海中发现了一个令自己难以割舍的妹子一样,一步步地去靠近她,然后慢慢的了解她,最后爱上她。
可能在所有人追求一个妹子的时候,都会有这样的一种感觉:在每一天的每一个小时的每一分钟,心中所想的全是她,想要知道她的过往,她的现在,她的喜好,乃至于她的一切,就算是让我用尽生命里的每一分钟去盯着她,看着她,只要和她在一起都是一种幸福。我对于nwjs的感觉,就是这么地奇妙,我在互联网的海洋中去细致的搜索关于它所有的消息,她过去的名字很长,叫做Node Webkit,可能是她老爸叫node,她妈妈叫webkit,然后两个人一结合生的孩子为了方便就把父母的名连在了一起当作了她的名字,可能随着时间的推移和她年龄的增长,她自己觉得名字可能太长了,对于一些喜欢她的人来说叫起来(或者是给她写一封情书)的时候都会很麻烦,于是就把自己的名字改掉了,变成了nw.js。但是她只是名字改变了,她还是她,她还是继承了父母的基因,继承了父母给她遗传的一切,继承自她老爸node的一些地方可以用来做一些本地化操作,继承自她妈webkit的一些地方可以用来做DOM处理。当然,作为一个妹子,她每天都在想怎么去更简单的去化妆,而不是把很多时间都浪费在化妆上,于是,她还是把继承自老妈的一些基因给发挥了出来,使用html,css来轻松的让自己更漂亮!
当然,上面这些都是一些很表面的介绍,我作为一个生在新中国,长在红旗下,走在春风里的21世纪的前端攻城狮,我不能局限在这个表面,我们所有人的一切遗传信息都存放在DNA中,这个令我彻夜难眠的妹子的DNA有一个特别的名字:package.json,我就来解读一下她的这些信息!
在她的package.json中大致有这些属性:
{
"name": "a beautiful girl", // 程序名称
"main": "index.html", // 入口文件
"version": "1.0", // 版本号
"window": { // 窗体设置
"height": 300, // 高度
"width": 360, // 宽度
"show": true, // 是否打开程序立即显示窗体
"title": "nw.js", // 标题信息
"toolbar": true, // 是否有工具条
"frame": true, // 是否包含框架
"resizable":false, // 是否可以放大缩小
"icon": "./icon.png", // 图标
"transparent":false // 背景是否透明
}
}
当我了解了这些属性之后,我顿时感觉我要化身一个生物科学家了,我要Get到她,那么我要克隆她!
于是我就从伟大的互联网上找到了一份克隆的机器(nw.js的开发包,下载地址),然后自己创建了一个她的“DNA”(package.json),把她的身体外表(使用html和css来搭建UI)、她的行为动作(使用js来实现功能处理)统统的组合到了main所指引的地方(入口文件),然后把它们打包压缩(产生了一个zip的压缩包),为了能使用网上下载的克隆工具,把它变为了一个nw的包(把.zip扩展名改为了.nw),最后使用从网上下载的克隆机器(我是在windows上面开发的,所以用的是nw.exe)进行处理(命令行执行nw app.nw),最后就得到了一个属于我自己的她~
我基于nw.js做了一个简单的可视化web服务器的示例,windows 7环境开发的
示例下载地址:http://pan.baidu.com/s/1o8QvJ3W
当然这个是没有编译的版本,需要使用命令行进到目录里面执行: nw server
如果想要编译打包成exe可执行文件,可以执行命令:copy /b nw.exe+server.nw server.exe