我正在努力让流星排行榜应用程序在Node-Webkit上运行。 我已将其解压缩并将其压缩为.nw文件,但是当我将其放入时。我收到错误:
无效的包请包中没有'package.json' 确保'package.json'在包的根目录中。
我已经阅读了各种各样的帖子,但还没有清楚。 似乎demeteorized应用程序需要重组。还需要弄清楚如何运行服务器[本地/ DDP]。
编辑:
P.S。我正在使用排行榜流星应用程序中的demeteorized文件,以便能够在node-webkit中运行它。
我想知道的是:
如何运行/初始化本地节点(demeteorized)服务器并设置端口。
如何为mongodb等设置demeteorized app的环境变量。
将用作
“主要”:?,
“node-remote”:?
用于node-webkit package.json文件。
有人可以请一些亮点,如果可能的话,我们将非常感谢你的一个例子。
先谢谢。
Praney:)
更新
经过修改后,我添加了“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”,来源: 文件:///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');
答案 0 :(得分:0)
这并不是指如何使用demeteorizer ..完全/种类。
您可以使用已部署服务器上的输出捆绑包作为流星应用程序运行,而不是将其放在现有的流星应用程序中。
你从中得到的package.json与meteor-npm使用的那个略有不同。
当您完成流星应用程序后,您将使用demeteorizer创建一个可以在您的服务器上运行的简单包。如果您上传并解压缩它:
npm install
demeteorizer的整个目的是为了点击你的应用程序,你不需要在你创建的平台上使用它,因为所有的npm模块都已经工作了。它解决的问题通常是交叉拱,例如,如果你在OS X上制作应用程序,它使用二进制npm模块,服务器使用Ubuntu(不是os x)
我认为node-webkit也可以这样做,你需要使用demeteorize的根目录(与你的app分开)。你可以看到已经有一个package.json,也许你设置它使用的根目录是你的meteor应用程序的根目录,而不是demeteorized app的untarred输出?