在linux下怎么打包直接运行的node-webkit桌面应用

在linux下怎么打包直接运行的node-webkit桌面应用,第1张

打包一个双击就可以直接运行的node-webkit应用,需要有:自己做的项目文件、package.json的配置文件,还有下载下来的node-webkit。

一、打包一个可以运行 .nw文件

1、在要打包的项目的主页面同一级目录里建一个package.json的文件,它是用来配置运行窗口和应用信息的。

如下图是我的项目,其中demo.html就是我运行这个应用时打开的页面:

我的很简单package.json文件内容如下,这2个是必备的。name可任意起,main就是你要运行的主页文件名:

查看文本打印

{

"name": "music",

"main": "demo.html"

}

2、将整个文件夹zip打包成 xxx.nw文件,一定要是zip打包,其他是不行的,我就在这里搞错了。

我的这个用命令压缩是:zip -r MusicPlay.nw css demo.html images package.json script

生成的包:

打开是这样的:

这样可运行的 .nw文件就好了,这时可以测试一下是否成功。

两种方法检测:

1)可以直接拖拉这个压缩包拖到下载的node-webkit文件夹里的nw上面运行;

2)可以用命令行运行:

先cd到node-webkit文件目录下,我的是:cd /opt/node-webkit-v0.9.1-linux-ia32

然后输入:./nw /home/shara/workplace/php/MusicPlayerHTML5/MusicPlay.nw

这样它就会运行了,成功时长这样,我的东西还没做好,所以长好丑,忽略吧:

二、将这个MusicPlay.nw和node-webkit文件下的 nw 一起创建一个文件:cat MusicPlay.nw nw >app &&chmod +x app

在node-webkit文件夹里得到这个东西:

最后将node-webkit文件夹里的libffmpegsumo.so 和 nw.pak 跟这个app放到一个文件夹里,把这个文件夹放别人的机子上,它也可以直接双击运行这个app文件了。

php给提供了system(),exec(),passthru()这三个函数来调用外部的命令.

虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:

system() 输出并返回最后一行shell结果。

exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。

passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。

相同点:都可以获得命令执行的状态码

例子:system("/usr/local/bin/webalizer/webalizer")

但是对于功能的描述,不知道什么应用场景下有这样的流程


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8320251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存