问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我有node写了个tcp服务端,我能用node-webkit 打包成exe吗

发布网友 发布时间:2022-04-25 12:27

我来回答

1个回答

热心网友 时间:2022-04-21 19:50

node-webkit是
一个Chromium和node.js上的结合体,通过它我们可以把建立在chrome浏览器和node.js上的web应用打包成桌面应用,而且还可以
跨平台的哦。很显然比起传统的桌面应用,在某些特定领域用html5+css3+js开发的web应用更加简单和高效,而且还可以使用node.js的功
能,所以node-webkit还是很有用处的。

下面我通过一个简单的demo来介绍怎么样把一个web应用打包成一个可执行文件(这里只介绍windows环境)

首先新建一个index.html文件,作为我们这个demo的入口页面,我们暂且就把这个页面当成一个完整的web应用吧。内容随便写点什么,比如:

然后创建配置文件 package.json,内容如下:

其中的main属性就是用来指定入口文件的,这个属性的值可以是本地文件,也可以是远程网址,这样就相当于可以把一个远程的web应用直接变为一个桌面应用了。

除了name与main这两个属性外,还有很多其他有用的属性可以配置,比如指定应用的图标,显不显示浏览器的工具栏,指定浏览器的初始大小等等,具体的配置参数文档可看这里https://github.com/rogerwang/node-webkit/wiki/Manifest-format

现在我们有了两个文件了。

然后将index.html和package.json这两个文件压缩到一个zip压缩包里,命名为app.zip

现在app.zip这个压缩包里的内容应该是这样的:

然后把app.zip这个文件的扩展名改为nw,变为 app.nw

然后下载一个windows版本的node-webkit,解压后得到一个文件夹:

之后我们之前得到的app.nw这个文件就可以用nw.exe来执行了,直接把app.nw拖到nw.exe上就可以了。运行结果如下:

跟在chrome中打开index.html这个页面的效果差不多,当然你可以通过配置package.json这个文件,来隐藏浏览器的工具栏或边框,来使它更像是一个桌面软件。

因为nw文件的运行需要node-webkit环境的支持,所以我们还需要把app.nw这个文件跟node-webkit的环境文件一起打包成一个可执行文件。

首先打开windows的cmd,然后输入如下命令:
copy /b nw.exe+app.nw app.exe

注意文件路径要根据你的实际情况进行变动,这里假设app.nw放在了node-webkit的主文件夹里,然后输出的app.exe也会在这个文件夹里。

执行命令后我们得到了 app.exe 这个可执行文件。

到了这步,我们已经得到了app.exe这个文件,但如果只有app.exe这个文件还是不够的,这个可执行文件的运行还需要几个dll文件的支持。

其中 nw.pak 与 icudt.dll 这个两个文件是必须要的。

ffmpegsumo.dll 文件是媒体支持文件,如果你的html页面中用到了<video>或<audio>或其它与媒体相关的东西,则必须带上这个文件。

libEGL.dll 和 libGLESv2.dll 这个两个文件则是使用webGL或GPU必须要的

最后我们得到的就是这样一个文件夹:

执行app.exe就可以运行我们的demo了。

但我们大多数人想的是给用户一个exe文件,用户就可以使用了,不用再附带一些其他文件。

嗯,所以我们还可以把app.exe跟其他的文件再打包一次,把上图中的所有文件变成一个可执行文件,用户只要得到这个文件,就能运行我们的应用了。

做这步我们需要一个软件叫Enigma Virtual Box,首先下载和安装这个软件,然后打开它。

然后在Enter Input File Name那里输入我们的app.exe的路径,在Enter Output File
Name那里填写我们要把打包出来的可执行文件输出到哪里。最后是把除app.exe外的其它文件拖入到Files那里,遇到提示的话默认就可以了。

最后点击右下角的Process按钮,就大功告成了。

最后我们得到了一个 app_boxed.exe 的文件,只要把这个文件交给用户,用户就可以运行了。

node-webkit虽然方便,但有个很大的缺点是得到的可执行文件有点大,大家在可以在衡量利弊后决定使不使用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 住宅模板含量? 用node-webkit 开发桌面程序怎么样 PC构件叠合板的工程量是否包括现浇板? 哈利·波特 6部名字分别叫什么? 装配式建筑 铝模一体化施工技术研究 坦克世界有哪些特种坦克 关于郭晶晶的英文简介 塑料建筑模板有没有人使用过?使用的效果怎么样。最主要能节省多少钱... 为什么俄罗斯军机普遍使用减速伞,而美国军机都不用? 建筑塑料模板有谁用过吗? 夏季奥运会历届金牌总数之和各国家排行榜 建筑模板,中空塑料建筑模板,木模板,竹胶板,哪个使用成本最低?_百度知 ... 混凝土pc预制板产生翘曲变形的原因是什么?望各位大神指点迷津 建筑木模板与塑料模板相比哪种比较好,性价比比较高? 口袋妖怪里水箭龟后背上的2个炮是多少口径的??? 小红书韩安娜多大 塑料建筑模板具有哪些特点? 豆奶是谁发明的 我们工地急需塑料建筑模板,哪种好些呢?PP塑料模板和PC塑料模板哪个更好... 小红书2000的播放量 求几张1945年柏林战役的图片,要彩图的(颜色不能太失真) PC楼的十大好处 请大家推荐几首轻松的音乐 电脑计算建筑工程模板平米的软件叫什么名称,有手机用的这种软件吗?_百 ... copy /b nw.exe+app.nw app.exe打包后可以解压吗 怎样在电脑上预算建筑图纸的模板面积?用什么软件? 急需一篇学生会办公室副主任竞选稿!急急!! 跟上dj鼓点频闪的灯叫什么? ktv有一种灯闪光的时候,跳舞的时候就像在闪动 那是什么灯啊? ...买到?那个灯叫什么名字?就是灯光随着音乐的节奏变化而变化的那种... ...的地方安装那种能随音乐节奏闪烁的灯,这个灯叫什么,是灯管还是... 跟着音乐节奏闪耀的彩灯是什么软件 灯光随着音乐由节奏的闪烁 能跟着音响音乐节奏闪的彩灯怎么做 怎么做随着音乐闪的闪灯 ...谁教教怎么做音乐节奏灯,就是那种随着音乐旋律闪烁的灯 男生什么样的身材才算好?? 男生身材好的标准 男生完美身材比例是多少? 手机号能改归属吗