【问题标题】:Having trouble packaging node webkit app打包节点 webkit 应用程序时遇到问题
【发布时间】:2015-01-01 06:41:27
【问题描述】:

我在 node webkit 中编写了一个小应用程序,但无法打包它。我的最终目标是拥有一个可以提供给其他人的 .exe。

我可以使用“nodewebkit”从命令行运行它。

我已经尝试压缩文件并将结果保存为 app.nw,但是当我尝试运行它时,我只会得到默认的节点 webkit 屏幕。我已经阅读了 rogerwang github 上的文档,但由于我无法完成第一步,所以没有得到任何结果。

该应用由几个文件组成:index.html、main.js、styles.css。它依赖于一些节点模块以及 jquery。 package.json 文件粘贴在下面...任何建议将不胜感激。

{
  "name": "spl",
  "version": "0.0.0",
  "description": "",
  "keywords": [],
  "main": "index.html",
  "homepage": "https://github.com/lpappone/spl",
  "bugs": "https://github.com/lpappone/spl/issues",
  "window": {
    "title": "Splitter",
    "toolbar": false,
    "frame": true,
    "width": 800,
    "height": 500
  },
  "author": {
    "name": "Lauren Pappone",
    "email": "",
    "url": "https://github.com/lpappone"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/lpappone/spl.git"
  },
  "dependencies": {
    "fast-csv": "^0.5.3",
    "recursive-readdir": "^1.2.0"
  },
  "devDependencies": {},
  "engines": {
    "node": ">=0.8.0"
  }
}

目录结构是这样的,当我查看.nw的内容时,一模一样:

【问题讨论】:

  • 您的 index.html 与 package.json 处于同一级别?我们可以举一个你的目录结构的例子吗?
  • 当然-这是一个小应用程序,我不知道它是否重要,所以基本上都是同一级别。项目文件夹包含文件:index.html、main.js、bower.json、package.json、styles.css。还包含文件夹:bower_components、node_modules、node_webkit-v0.10.2-osx-x64 和资源,我猜是 node-webkit 附带的。
  • 你用 package.json 文件和 index.html 文件成功创建 nodewebkit 应用程序真的很奇怪吗?
  • 不,main.js 是应用程序的主脚本。
  • 您能否在 index.html 中展示您如何请求脚本。您使用的是相对路径还是绝对路径?

标签: node-webkit


【解决方案1】:

您似乎是在 Mac 上执行此操作,所以我将介绍这一点。 Windows 和 Linux 稍微复杂一些,因为它们不像 Mac OSX 那样拥有 App Bundle。 您是否将 app.nw 复制到正确的位置?您确定要在 app.nw 中包含所有内容吗?

这是你在做什么?:

首先您需要创建app.nw,它只是您整个项目的一个压缩文件。如果您转到您的项目目录(包含 package.json 的目录),您可以通过键入来执行此操作

zip -r ../app.nw .

现在创建 node-webkit.app 的副本并将 app.nw 复制到 node-webkit.app/Contents/Resources/

cp app.nw node-webkit.app/Contents/Resources/

您现在应该能够运行 node-webkit.app 并且它应该运行您的应用程序。 (您可能在安全设置等方面存在一些问题)

更多详情请参阅https://github.com/rogerwang/node-webkit/wiki/How-to-package-and-distribute-your-apps#mac-os-x

【讨论】:

  • 您好,感谢您的帮助。这确实可以从命令行运行应用程序,但我要做的是生成一个用户友好的打包应用程序 - 他们可以通过双击一个图标来运行他们习惯的应用程序。这个应用程序是为了帮助一些前同事,他们是律师,导航终端并不是他们要做的事情。我一次又一次地阅读了那个 rogerwang 页面,但是我找不到 node-webkit.app/Contents/Resources/ - 我的电脑上似乎没有任何这样的目录 - 我什至不确定那是什么,所以我不确定我在寻找什么。
  • 知道了。了解了应用程序包,并运行了你给我的那行代码(我需要包含保存 node-webkit.app 的文件夹。)但是如果我运行“node-webkit.app”,我会找不到命令。 nodewebkit node-webkit.app 它告诉我没有 package.json 文件。仍然不明白如何打包应用程序,以便非计算机爱好者使用。
  • 知道了。没有意识到我需要运行 node-webkit 而不是我的原始应用程序文件。这会导致一个新错误,我已将其作为一个新问题发布:stackoverflow.com/questions/26924209/…
  • 有什么方法可以在mac上开发,但是在windows上分发?
  • 您当然可以在 Mac 上进行开发,但我不确定您是否具备构建 Windows 捆绑包所需的一切。 Windows 方法有点不同,因为它们没有像 Mac 这样的 App 包,您实际上需要将您的项目连接到 Windows EXE 上(至少他们过去是这样做的。)它有点类似于 Linux 构建。在任何情况下,您都需要在 Windows 上试用以确保它可以正常工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多