【发布时间】:2015-05-13 13:57:48
【问题描述】:
我想为 windows 打包一个 nodewebkit 应用程序。我跟着这个教程https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps#mac-os-x
我得到了 .exe 文件,但无法执行。
【问题讨论】:
标签: node.js node-webkit node-webkit-agent
我想为 windows 打包一个 nodewebkit 应用程序。我跟着这个教程https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps#mac-os-x
我得到了 .exe 文件,但无法执行。
【问题讨论】:
标签: node.js node-webkit node-webkit-agent
首先,将 app.nw 文件复制到存在 nw.exe 的文件夹中。然后你可以在 cmd 中尝试以下命令:
path_to_folder_which_contains_nw.exe>复制 nw.exe+app.nw app.exe 成功创建 app.exe 后,您将收到消息“已复制 1 个文件”。它将创建一个可执行文件,但不会在该文件夹之外运行。然后你可以使用像 iexplore.exe(默认的 windows 安装程序)这样的 windows 安装程序来创建安装程序 exe。
【讨论】:
单独的 exe 文件是行不通的。你需要add the 'nw.pak' file:
请注意,nw.pak 文件也必须在同一个 包含应用程序文件的目录,否则您会期望空白页 一些功能。
还有一个few DLLs:
nw.pak 和 icudt.dll 必须与 nw.exe 一起提供,前者 一个包含重要的 javascript lib 文件,后一个是 重要的网络库。
ffmpegsumo.dll 是媒体库,如果你想使用和 标签或其他与媒体相关的功能,您应该发布它。
libEGL.dll 和 libGLESv2.dll 用于 WebGL 和 GPU 加速, 你最好把它们寄出去。和 D3DCompiler_43.dll 和 d3dx9_43.dll 一样 好吧,如果您想确保 WebGL 在更多硬件上工作。这 2 个 文件来自 DirectX 可再发行文件。
我的建议是您不要手动执行此操作。而是使用 grunt 来构建 exe 文件。要开始使用,请使用 yeoman 和 generator-node-webkit 进行基本项目布局和构建脚本。
比,使 win 可执行(或 mac)很容易:
grunt dist-mac
grunt dist-win
【讨论】: