webkit如何打包 php程序,nw.js node-webkit系列(17)怎样打包和分发你的应用

本节将介绍完成应用编码后,如何将其打包和分发给你的用户,本篇内容较为复杂,接下来咱们一步步来进行吧。(其中打包很分发的方法不少,请选择适合你的方法。)php

(一)应用中可能存在的额外的文件html

下面文件做为子目录能够放在应用的根目录中:node

(1)node_modules目录-若是你有使用到第三方模块进行开发,能够放在这个目录下。git

(2)plugins目录-若是你有使用到插件,能够放置在这个目录下。github

你不须要放置nwsnapshot文件到你的下载包中(据博主估计nwsnapshot应该是nw.exe存在前的精简版,由于在官方文档中并无看到介绍)web

(注)不要认为node_modules目录的第三方模块类库在Windows下能运行就表明在OS X中也能运行,好比node-email-templates在Windows系统下和在OS X下就有不一样的初始化命令。做为一个经验法则就是,在你发布项目前都要去仔细测试每一个涉及到第三模块应用的功能。shell

(二)打包和分发

(1)Make a package (打包)npm

将项目文件压缩生成的.nw包其实就是一个ZIP格式的压缩包,有三点说明:json

1)必需要有package.json配置文件app

2)package.json配置文件必须在根目录

3)在.nw包里,文件和目录是区分大小写的

下面将介绍怎么打包.nw文件:

Windows环境下:

1)建立一个ZIP压缩包

2)将你全部的文件拷贝进压缩包,保持目录结构和保证package.json在根目录下(注意:不要把包含整个项目文件夹拷贝进压缩包,只须要项目里的文件)

3)将.ZIP压缩包重命名为.nw

Linux / OS X 环境下:

1)使用命令行进入项目的根目录 cd ~/Projects/my_app

2)执行 zip -r ../${PWD##*/}.nw *

3)这样你就能得到一个.nw文件

(2a) Put your app with nw executable(把应用和nw执行程序放在一块儿)

· 你能够将项目文件压缩成ZIP文件并重命名为.nw,而后将这个.nw文件放到与nw执行程序相同的目录上。

· 或者你能够把nw执行各个文件(即由官网下载下来的所有文件)放到你项目的package.json相同目录下,当双击点击nw.exe时会自动寻找相同目录下的package.json并启动应用。(在苹果系统下原理是同样的,把应用的文件和node-webkit.app放到统一目录下便可),推荐当你的应用文件比较大时可使用这种方法。

· nodebob是一款针对node-webkit的构建工具。它是使用批处理执行的。如直接执行批处理build.bat(生成window环境执行的APP),生成可直接执行的app.exe。详细信息请查看:(推荐使用)

https://github.com/geo8bit/nodebob

6793ae61d0d64afc95345efa.html

6793ae61d0d64afc95345efa.html

· nw-builder & grunt-nw-builder 能够构建你出能够再Windows环境、Linux环境和OS环境下执行的node-webkit应用。较复杂,博主试过,可是没成功,貌似不兼容最新版本的nw.exe , 详细请参考:

https://github.com/nwjs/nw-builder

https://github.com/nwjs/grunt-nw-builder

·Nuwk!能够轻松的构建基于node-webkit的苹果应用,能够轻松地测试和构建程序,它负责建立执行程序,配置图标和相关应用配置。详细请参考:

http://codeb.it/nuwk/

· generator-node-webkit 也是一款打包Windows环境、Linux环境和OS环境下执行应用程序。详细请参考:

https://www.npmjs.com/package/generator-node-webkit

·Web2Executable是一款完成的、跨平台的、开源的GUI打包应用。它可打包Windows环境、Linux环境和OS环境下执行应用程序,是一款很是受欢迎的应用。详细请参考:

https://github.com/jyapayne/Web2Executable

· nwjs-shell-builder 这是一款针对构建node-webkit的应用。这些脚本能够很容易的集成到你的构建过程,它会自动下载nwjs 32/64位Windows,Linux和OSX,并在指定目录同时打包这三种平台可执行的应用。详细请参考:

https://github.com/Gisto/nwjs-shell-builder

(2b) Alternative way - Making an executable file out of a .nw file(另外一种方法:从.nw文件中生成一个可执行文件)

不少人都关心最终用户须要作些什么才能运行app呢?若是只发给用户一个.nw文件,那么他们就须要安装nw执行程序(至少得解压它)才能执行.nw。因此,最好的办法就是合并.nw文件和nw执行程序。

有两点提醒:

1)合并后的文件不只仅只是一个执行文件,还包括一些DLL动态连接库。

2)合并后的文件仍然能够被一个文件管理软件是被,如WinZip。

Windows

在Windows环境,你可使用下面命令行进行合并:

copy /b nw.exe+app.nw app.exe

而后你就能够把app.exe和nw的相关DLL动态连接库分发出去。

Linux

在Linux环境,你可使用下面命令行进行合并:

cat `which nw` app.nw > app && chmod +x app

Mac OS X

在苹果环境下,nw.app文件的所在路径是很容易被改变的。你须要把你的app文件放在Contents/Resources目录下,而且重命名为app.nw。 较其余平台的好处是,app.nw没必要合并,为了更快速的启动,你能够把app.nw做为你的应用的打开路径。

你须要修改如下文件,为了更好地发布:

1)Contents/Resources/nw.icns: 应用图标

2)Contents/Info.plist: 苹果打包描述文件

关于Info.plist文件,它将会影响到你的应用的发布,详细信息请查阅:http://cocoadevcentral.com/articles/000071.php

(3)哪些文件是必须的?

从v0.10.0版本开始,icudtl.dat文件在三种平台中都是必须存在的,而icudt.dll文件则再也不必须。

除了这个文件外,每种平台还须要不一样的其余nw文件,详细往下看:

(注):And since the binary is based on Chromium, multiple open source license notices are needed including the MIT License, the LGPL, the BSD, the Ms-PL and an MPL/GPL/LGPL tri-license. (This doesn't apply to your code and you don't have to open source your code)

Windows

必须包含nw.pak文件和icudt.dll文件,前者包含了一些重要的js库,后者包含了一些重要的net库。

ffmpegsumo.dll是一个多媒体库,若是你须要使用或,或者一些其余格式的媒体,则你须要使用这个库。

libEGL.dll 和 libGLESv2.dll 是被用于WebGL 和 GPU,你最好带上它们。

D3DCompiler_43.dll 和 d3dx9_43.dll 这两个文件也是为了更好地运行WebGL 。

Linux

必须包含nw.pak文件,若是你须要使用多媒体库也能够加入libffmpeg.so.文件。

Mac OS X

只须要node-webkit.app便可,你大可不用关心其余文件。

(4)在Windows系统下打包nw应用的另外一种方法

若是你按照上述(2b)的步骤打包,你仍然须要加入其余的一些DLL动态连接库或者文件。有一种办法能够将全部文件都打包成一个可执行文件。

这种方法就是使用打包软件Enigma Virtual Box,下面为下载地址:

http://enigmaprotector.com/en/aboutvb.html

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

(5)Setup on Windows

应用打包完成后,我想你还须要一个安装文件把应用安装在你的电脑上,下面提供一款能够生成安装程序的免费软件:

http://www.jrsoftware.org/isinfo.php

例子:

https://github.com/SSilence/sum/blob/master/setup.iss

小贴士:若是你发布的是苹果应用,能够阅读苹果应用商店(MAC)提交指南,链接以下:

https://github.com/nwjs/nw.js/wiki/Mac-App-Store-%28MAS%29-Submission-Guideline

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值