2

我正在尝试让流星排行榜应用程序在 Node-Webkit 上运行。我已将其分解并将其压缩为 .nw 文件,但是当我将其放入时。我收到错误:

无效的包 包中没有“package.json”,请确保“package.json”在包的根目录中。

我已经阅读了各种主题,但还不清楚。似乎需要重新构建demeteorized 应用程序。还需要弄清楚如何运行服务器[Locally/DDP]。

编辑:

PS我正在使用排行榜流星应用程序中的demeteorized文件能够在node-webkit中运行它。

我到底想在这里弄清楚的是:

  1. 如何运行/初始化本地节点(demeteorized)服务器并设置端口。

  2. 如何为 mongodb 等的 demeteorized 应用程序设置环境变量。

  3. 什么会被用作

“主”:?,
“节点远程”:?

对于 node-webkit package.json 文件。

有人可以解释一下,如果可能的话,一个例子将不胜感激。

先谢谢了。

普拉尼 :)

更新:

稍作修改后,我添加了“main”:“index.html”并将 index.html 文件添加到 demeteorized 应用程序的根目录中。这个文件只是在浏览器中加载 main.js 文件,这里:

<!DOCTYPE html>
<html>
  <head>
    <title>Leaderboards</title>
  </head>
  <body>
  </body>
  <script src="main.js" type="text/javascript"></script>
</html>

现在我收到此错误:

“未捕获的 ReferenceError:__dirname 未定义”,来源:file:///Users/Praney/projects/webkit/nw-sample-apps/leaderboards/main.js(2)

main.js

process.argv.splice(2, 0, 'program.json');
process.chdir(require('path').join(__dirname, 'programs', 'server'));
require('./programs/server/boot.js');
4

1 回答 1

0

这不是 demeteorizer 的使用方式.. 确切/有点。

您将使用已部署服务器上的输出包作为流星应用程序运行,而不是将其放入现有的流星应用程序中。

您从中获得的 package.json 与meteor-npm 使用的略有不同。

当你完成你的流星应用程序后,你将使用 demeteorizer 创建一个可以在你的服务器上运行的简单包。如果您上传并解压缩:

  1. 您可以通过 cding 到包中并运行来安装 npm 模块npm install
  2. 您可以按照文档中的说明正常运行该应用程序。

demeteorizer 的全部目的是通知你的应用程序,你不需要在你制作的平台上这样做,因为所有的 npm 模块都已经在工作了。它解决的问题通常是跨架构,例如,如果您在 OS X 上制作应用程序并且它使用二进制 npm 模块并且服务器使用 Ubuntu(而不是 os x)

我想 node-webkit 也可以这样做,您需要为此使用 demeteorize 的根目录(与您的应用程序分开)。您可以看到其中已经有一个 package.json,也许您设置它使用的根目录是您的流星应用程序的根目录,而不是解压缩应用程序的未解压输出?

于 2014-08-22T10:42:28.717 回答