【问题标题】:Node webkit package not opening properly from double click in OSX Finder在 OSX Finder 中双击无法正确打开节点 webkit 包
【发布时间】:2015-08-24 20:29:37
【问题描述】:

根据nw.js/README.md,我创建了一个非常简单的 app.nw 包,其中包含最小的“hello world”设置。它只包含两个文件:

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>
    We are using node.js <script>document.write(process.version)</script>.
  </body>
</html>

package.json

{
  "name": "nw-demo",
  "version": "0.0.1",
  "main": "index.html"
}

这样从控制台运行时效果很好:

/Applications/nwjs.app/Contents/MacOS/nwjs myapp.nw

但是,当我在 Finder 中双击 myapp.nw 时,它会打开默认的 nwjs 文件,而不是我的应用程序。

我正在为不会打开终端的非技术用户开发一个应用程序。我们可以让他们下载 nwjs.app 并将其安装到他们的 Applications 文件夹中,但是我们需要他们能够下载并双击应用程序包。

通过将myapp.nw 包复制到nwjs.app 副本的Resources 目录并将其重命名为app.nw,我能够通过在Finder 中双击来执行我的应用程序nwjs packaging documentation ,但是这会将我们的自定义代码集成到非常大的 nwjs.app 可分发文件 (93.8MB) 中。这是一个不可接受的大小,要求我们的用户每次都下载。

如何让我的 node webkit 包(仅包含我们特定的应用程序代码和资产)能够直接从 OSX Finder 打开?

【问题讨论】:

    标签: node-webkit


    【解决方案1】:

    您需要将文件打包成可执行文件。有关更多信息,请查看项目 git 上的this guide

    我的建议是您不要手动执行此操作。而是使用grunt 来打包您的文件。要开始使用,请使用 yeomangenerator-node-webkit 进行基本项目布局和构建脚本。

    然后,制作可执行文件很简单:

    grunt dist-mac
    

    【讨论】:

    • 您已链接到我在问题中链接到的相同打包文档,并且您推荐的工具非常适合自动化我在问题中概述的手动构建过程,但仍然会产生大型可执行文件.问题是是否有一种方法可以创建一个小型可执行文件,该可执行文件在安装到用户应用程序的通用 nwjs.app 时打开。
    • @RobertCarterMills 你的意思是创建一个安装程序?
    • 基本上我只是想尽量减少我们的用户必须下载的内容。似乎无法绕过 node-webkit 很大的事实。我认为解决方案是按照 Kuf 的建议将我们的应用程序打包成可执行文件,然后在应用程序中实现自我更新功能,这样用户就不必在我们迭代开发时重新下载整个应用程序。
    • @RobertCarterMills 是的,我遇到了同样的问题。现在每次更新下载完整的可执行文件(压缩 - 大约 42MB),但我计划稍后只下载 app.nw 文件夹。由于我们的更新很少见,所以我们暂时推送。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多